标题:后插结点
只看楼主
飞扬白鸽
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2005-12-31
 问题点数:0 回复次数:6 
后插结点
后插结点,设p指向单链表中某结点,s指向待插入的值为x的新结点,将s插入到*p的后面.操作如下:
s->next=p->next;
p->next=s;
=================================
把s插到p的后面,为什么是s->next=p->next;
??
搜索更多相关主题的帖子: 结点 
2006-02-13 12:57
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
这样做是因为要保存p->next原来的信息
这样做的情况一般出现在两个场合
1、存在尾节点的情况,所谓尾节点指的就是一个特殊的节点,他也是一个节点,但是他所代表的意义不同,他表示链表的结束
2、在链表中间插入节点的情况
其实这两中情况都属于同一情况,那就是插入操作。

比如 如果p->next指向的是x节点,我想在p和x之间插入一个s,怎么做呢?
s->next = p->next //这个时候s->next和p->next同时指想x节点,起到了保存p->next原有信息的作用
p->next = s; //重新定向p->next,把p->next指向s节点,而这个时候s->还是指向x节点的

所以便形成了p -> s -> x的链表

淘宝杜琨
2006-02-13 13:13
飞扬白鸽
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2005-12-31
得分:0 
谢了,偶终于懂了!!!

还有点小疑问,为什么要保存p->next的原有信息?

淘宝网——小新图书店http://shop33459977./ 经典图书光盘仅在这里。
2006-02-13 13:18
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
p->next的信息就是x节点的地址
如果不保存它,那么x节点就会丢失在内存中,你再也找不到他啦

淘宝杜琨
2006-02-13 13:24
飞扬白鸽
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2005-12-31
得分:0 


赞一个

淘宝网——小新图书店http://shop33459977./ 经典图书光盘仅在这里。
2006-02-13 13:27
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
得分:0 
我觉得 学链表的时候还是画画图比较好
拿个箭头指指就明白了

when i want to ask anyone,i will ask myself first.
2006-02-13 13:27
飞扬白鸽
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2005-12-31
得分:0 
书上的确有图,图能明白

淘宝网——小新图书店http://shop33459977./ 经典图书光盘仅在这里。
2006-02-13 13:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-45362-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.805516 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved