【数据结构】详解双向链表

目录

一,链表的分类

二,双向链表

1,双向链表的结构

2,双向链表的创建及功能实现

三,顺序表和双向链表的优缺点分析


一,链表的分类

链表有三种属性,每种属性有两种情况,总共有2*2*2=8种情况。

其中不带头单向不循环链表就是单链表。

而带头双向循环链表就是双向链表。

下面是不同属性的情况:

二,双向链表

1,双向链表的结构

双向链表--带头双向循环链表

带头 --含有头节点(哨兵位)

双向--一个节点含有前驱指针prev和后继指针next

**循环--**尾节点的next指针指向头节点(哨兵位)

注意:当说单链表为空时,则单链表中就没有结点

当说双向链表为空时,此时链表还有一个头节点(哨兵位)

当双向链表:head == NULL,就不是一个有效的双向链表

链表的节点:

2,双向链表的创建及功能实现

gitee代码: https://gitee.com/codelsj-w/test.3.17.c.git

头文件:List.h

源文件:List.c

源文件:code.c

三,顺序表和双向链表的优缺点分析

相关推荐
CSharp精选营1 天前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
刘马想放假5 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
北域码匠6 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Darling噜啦啦12 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
小小工匠13 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾13 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
Qres82113 天前
算法复键——树状数组
数据结构·算法
牛油果子哥q14 天前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解
数据结构·c++·最小生成树·并查集
凌波粒14 天前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode
疯狂成瘾者14 天前
Java 集合 LinkedList 详解:链表结构、常用方法和队列使用
java·开发语言·链表