我是靠谱客的博主 隐形小蘑菇,这篇文章主要介绍单链表逆序(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++实现)内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部