码迷,mamicode.com
首页 > 其他好文 > 详细

二、单链表的头插与尾插

时间:2014-10-26 22:32:01      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   sp   数据   div   on   2014   

二、单链表的头插与尾插

          只要懂了单链表的头插与尾插,双链表的就非常好理解了。对于这,我觉得用图形解释没一步是最好的方法。附上我自己对头插与
尾插的理解。
bubuko.com,布布扣 
1.头插法在我学的过程中最难以理解的是s->next=L->next。解决方法:我是通过上面这幅图了解头插是如何一步一步插入元素,按步骤分析即可。
A:创建一个指针域为NULL,数据域为空的头节点L;
B:假设插入的节点为S,将头节点后面一个节点的地址(L->next)赋值给新节点S的指针域(S->next),在这一步中因为头结点后面没有节点了,即L->next=NULL,所以会得到s->next=NULL。然后再将s的地址赋给头节点即可;
C:在B的基础上,你会看到头结点后面有了一个节点,即L->next非空了,将1的地址给2,2的地址给头结点就完了;
D:同C。
bubuko.com,布布扣
A:创建一个头结点,并且定义一个尾指针,指向头结点(因为此时只有一个节点,头结点也是尾节点,所以尾指针指向头结点);(*********只需要记得L与r是共同体,修改r就等于修改L,这有助于理解第二步***********)
B:将新插入的节点s1的节点赋值给r->next,很可能要问,为什么不赋值给L->next?原因,尾插法,尾节点是一个动态的,他时刻处于变化之中,头结点L仅在开始时表示尾节点,其他时候不表示尾节点,所以要赋值给r->next;之后再将尾指针指向新插入的为节点就好了。
C:接下来就蛮好理解了,同上,我多画了几步,只是为了验证;
D:同上。

注意:需要注意的是像这种s->next有时他表示地址,有时他表示的是整个节点,注意下区分就可。
                                                                                                                                                                by   张辉
                                                                                                                                                                                2014年10月22日

二、单链表的头插与尾插

标签:style   blog   http   color   sp   数据   div   on   2014   

原文地址:http://www.cnblogs.com/zhnaghui/p/4052766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!