大家好,今天小编关注到一个比较有意思的话题,就是关于c语言单向链表逆序的问题,于是小编就整理了1个相关介绍c语言单向链表逆序的解答,让我们一起看看吧。
用c语言实现单链表的逆置,能将此程序详细的解释一下吗?
算法的核心就是reverse函数,其它的都是***建立链表和输出链表的。
从数据结构的定义来看这是一个带头节点的链表。要弄的十分明白你要耐心点画图看看。我简单的说下思路:
p=head; //p最开始指向头结点
s=p->next; //s最开始指向第一个节点
(图片来源网络,侵删)
while(s->next!=NULL)//只要没有到最后一个元素就继续。最后一个元素的next肯定为NULL
{ //进入核心了楼主
t=s->next; //用t指向s后面的那个元素
(图片来源网络,侵删)
s->next=p; //把s指向她前面那个,这个时候就实现了逆向了。而且是就地逆向。元素都没有动的
到此,以上就是小编对于c语言单向链表逆序的问题就介绍到这了,希望介绍关于c语言单向链表逆序的1点解答对大家有用。