| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 数据结构与算法 -> 浅谈双向链表 -> 正文阅读 |
|
|
[数据结构与算法]浅谈双向链表 |
?? 已经两个月没有更博客了,今天闲来无事就来谈谈双向链表。(双向链表也是看了许多优秀的博主之后才学会的TAT)? 1:双向链表的介绍?? , ?跟单链表一样,双向链表的每个节点都有指针域和数据域。但相较于普通的单链表,双向链表多了前驱指针。每个节点都有它的值data,一个指向后面节点的指针,一个指向前面节点的指针。(这个应该是好理解的,这个可以看图就明白了)接下来就介绍下双向链表的定义和它的基本操作。 2:双向链表的节点定义其实就是单链表节点的基础上在多一个前驱指针,这里不多解释,直接上代码。
3:双向链表类的定义跟单链表类的定义方式一样。
4:双向链表的插入这个我个人觉得会比单链表的插入会复杂一点 1:一开始的状态
?2:加入新节点
?3:把C的前驱指针指向B
4: 把A的前驱指针指向C
?5:把B的前驱指针指向C,把C的指针指向A
?代码如下
5:双向链表的删除1:找到要删除的节点(这里删除C节点)直接从头到尾遍历一遍或者从尾到头遍历都可以
?2:把A的后驱指针指向B,B的前驱指针指向A
3:deleteC节点代码如下
6:双向链表的查找跟单链表一样,就是一个个指针通过next指针一个个查找过来
7:双向链表的输出相较于单链表有两种方式输出 1:顺序输出通过next指针一个个输出指针的data的值
2:倒序输出通过pre指针进行倒序输出
8:总结?? 说实话,双向链表其实还是很简单的。当初写C++课设的时候,本来想用的,但是怕出错,就没敢用了。好久没写博客了,写的确实有点拉胯了。但希望大家能从我的博客中学到新东西。 9:完整代码(方便大家自行调试)
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/8 13:34:31- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |