概述
typedef struct LNode {
int data;
struct LNode *next;
}LNode;
LNode* reverse_linked_list(LNode *head) {
LNode *next = NULL;
LNode *prev = NULL;
while (head) {
next = head->next;
head->next = prev;
prev = head;
head= next;
}
return prev;
}
对于链表的很多操作,通常有一个默认心得“先后再前”,这里的逆序算法的核心while循环里面.:
“先后”
先修改与后继相关的指针
第一步:保存当前节点的next指针
第二步:修改当前节点的next指针(指向前一个节点)
“再前”
再修改与前继相关的指针
第三步:prev指针向后移动
第四步:head向后移动
最后
以上就是隐形小蘑菇为你收集整理的单链表逆序(c/c++实现)的全部内容,希望文章能够帮你解决单链表逆序(c/c++实现)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复