我是靠谱客的博主 隐形小蘑菇,最近开发中收集的这篇文章主要介绍单链表逆序(c/c++实现),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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++实现)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部