设为首页 加入收藏

TOP

2.11.5 对单向链表的插入操作
2013-10-12 07:02:39 来源: 作者: 【 】 浏览:105
Tags:2.11.5 单向 插入 操作

2.11.5 对单向链表的插入操作

在链表的第i个节点的后面插入一个新节点的基本算法如下:

(1)定位第i个节点。让指针q指向第i个节点,指针p指向需要插入的节点。

(2)链接后面指针。p-link = q->link。

(3)链接前面指针。q->link=p。

具体操作如图2.16 所示。如图2.17 所示是在第i个节点之后插入新节点后链表的状态。

 
图2.16 在第i个节点的后面插入数据节点的过程
 
(点击查看大图)图 2.17 在第i个节点之后插入新数据节点后链表的状态
根据上述算法的基本思想,可以写出在链表第i 个节点之后插入一个新数据节点p 的程序如下:

  1. insert_node(NODE *head, NODE *p, int i)  
  2. {  
  3. NODE *q;  
  4. int n=0;  
  5. for(q=head; n<i&&q->link!=NULL;++n)  
  6. qq=q-link; /*(1)定位第i 个节点*/  
  7. p->link=q->link; /*(2)链接后面指针*/  
  8. q->link=p; /*(3)链接前面指针*/  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.11.1 链表概述 下一篇2.11.4 对单向链表的删除操作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: