单链表之逆序打印
来源:互联网 发布:校园网络诈骗小品剧本 编辑:程序博客网 时间:2024/06/06 20:32
主要的思路是新定义两个节点指针,分别指向此时操作节点的前一个和后一个节点。然后通过操作这两个指针来实现逆序链表。即每次都操作一个新的头,通过操作这个"头结点"的前一个指针和后一个指针来实现断线和新的连接(连接前一个)。
主要代码段:
next_ptr = head->next;//因为后面要修改头结点的next所以先保存起来,以便断了之后操作头结点后面的节点
head->next = pre;//改变指向,指向前一个节点
pre = head;//让"头结点"作为下一个节点成为断了之后要重新向前连结的节点的位置
head = next_ptr;//更新新的"头"
比如有这么一个单链表
但是这么做会有一个问题,就是不便于我们原始带有头结点的操作,所以上述循环代码段可以不从头结点开始操作,而是从头结点的下一个操作。即定义一个Node* p = head->next;上述循环代码段中的head换成p,最后循环结束时,pre 是指向第一个节点的,故让head->next = pre;pre = head;return pre;即可。
完整代码:
Node* ReverseLink(Node* head){ Node* pre = NULL; Node* p_next; Node* p = head->next; while(p!=NULL){ p_next = p->next; p->next = pre; pre = p; p = p_next; } head->next = pre; pre = head; return pre;}
阅读全文
0 0
- 单链表之逆序打印
- 经典面试题之逆序打印单链表
- 单链表逆序打印方法
- 单链表的逆序打印
- 链表之逆序打印
- 程序员面试宝典之数据结构基础----单链表的逆序打印
- 逆序打印
- 程序员面试100题(算法)之递归逆序打印单链表、字符串(同时求字符串长度)
- 数据结构复习之单链表:基本操作及逆序打印、逆转、合并等
- 文章标题 C语言实现单链表之逆置和逆序打印
- 递归逆序打印单链表(c实现)
- 单链表的逆序打印方法简单分析
- 链表 逆序 打印
- 简单逆序打印
- 逆序打印链表
- Python逆序打印正整数
- 递归逆序打印字符串
- 逆序打印数字
- 海明校验码--确定校验位
- 257. Binary Tree Paths
- 陌陌直播全景监控系统实践
- 《将博客搬至CSDN》
- 8.3 H
- 单链表之逆序打印
- HDU-4540 威威猫系列故事——打地鼠 (动态规划)
- java中的运算符|基础 学习笔记 算术、赋值、比较、逻辑、位
- MySQL索引
- Linux最小系统制作
- fabric explorer 是什么
- LeetCode 594 Longest Harmonious Subsequence
- Javascript ecmascript语法部分
- js 正则 捕获和非捕获