| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> C++数据结构补充(双向链表) -> 正文阅读 |
|
[数据结构与算法]C++数据结构补充(双向链表) |
双向链表与单向链表的结构类似,但多了一个指向前驱结点的指针。此外空的双向链表的指针域需要特别注意。 双向链表可以有效提高算法的时间性能,说白了就是以空间换取时间。 此外,双向链表也可以有循环链表。 1、双向链表初始化双向链表的初始化如下:
2、循环链表的插入插入操作需要一个顺序,该顺序不能违反。如果要在第P个位置插入一个新节点,则: 1、首先新建结点s的后继结点应当指向位置P的结点 s->next=p; 2、新建结点s的前驱结点应当指向位置P的上一个结点 s->prior=p->prior; 3、修改P位置上一个结点的指针域,上一个结点的后继结点需要指向s p->prior->next=s; 4、修改P位置的结点的指针,该节点的前驱结点要修改为s p->prior=s; ?
3、循环链表的删除1、首先完成待删除结点P的上下两个结点的指针更新,包括: p->prior->next=p->next; p->next->prior=p->prior; 2、更新完成后释放P结点的空间 Free(p);
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 23:53:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |