标题:链表逆置不明白.
只看楼主
ctw888
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-5-22
 问题点数:0 回复次数:2 
链表逆置不明白.
三个指针来回用我都糊涂了.到底是一种什么样的思想?
搜索更多相关主题的帖子: 链表 
2008-12-04 00:39
geninsf009
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:613
专家分:95
注 册:2008-8-16
得分:0 
用三个指针,
P表示已经逆转好的链表的表头指针,
Q表示未逆转链表的表头指针,
temp是即将进行逆转的结点指针,
逆转时的操作:
temp=p;       //获取要逆转的结点指针
p=p->link;    //未逆转的链表减少了一个结点
temp->link=q; //把temp挂入逆转好的链表表头
q=temp;       //逆转好的链表增加了一个结点
然后你把这个过程循环进行下去,就这个思路。
收到的鲜花
  • 龙乘霹雳2008-12-11 21:32 送鲜花  2朵   附言:我很赞同
2008-12-04 08:48
卡卡小罗
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:334
专家分:131
注 册:2008-12-11
得分:0 
链表逆置函数:
template<class T>
Chain<T>& Chain<T>::Reverse()
{     
ChainNode<T> *last = 0, *current = first,*next;
while (current) {
next = current->link;
current->link = last;
last = current;
current = next;
}
first = last;
return *this;
}
last指针指向已经逆置完的子链表的头结点;
current指针指向剩余子链表的头结点;
next指针指向剩余子链表的第二个节点。

匣浅难羁宝剑锋 玉藏石中也玲珑
初试清啼长天破 云光凝碧远岚平
2008-12-11 20:55



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




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

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