| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 链表练习题目:反转链表 -> 正文阅读 |
|
[数据结构与算法]链表练习题目:反转链表 |
NC78 反转链表给出一个长度为n链表,反转链表中的所有节点。 比如,输入一个长度为
n
n
n 链表: 翻转后为: 链表的反转不同于数组:数组反转只需交换数据,链表反转一般要求交换指针域。 比如,一个长度为 4 的链表,如下所示: 头插法头插法,常用的链表构造方法之一。顾名思义,就是把元素插在链表最前边的位置。 首先,我们先声明一个空指针作为头结点,表示此时链表中没有节点:
接下来,从数据源读取数据,假设我们从标准输入读取:
每读入一份数据 x x x,就将其存入一个新节点 t m p tmp tmp :
现在我们有了两个指针 t m p tmp tmp 和 h e a d head head:
现在要将 t m p tmp tmp 插入至链表中,头插法的流程是:
至此,一次头插法的操作完成啦。可以结合下面的图,更容易理解一点。 因此,我们只要从头至尾遍历输入的链表,然后将每个节点依次按照头插法插入新链表。 最后,新链表就是反转之后的样子啦。 完整代码如下:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:34:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |