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

目录

一,链表的分类

二,双向链表

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

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

相关推荐
m0_547486663 天前
《数据结构教程》全套 PPT课件2026
数据结构
tryxr3 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_33 天前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
All for pursuit.3 天前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
All for pursuit.3 天前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
渡我白衣3 天前
HttpRequest与HttpResponse的实现
服务器·数据结构·c++·人工智能·tcp/ip·机器学习·caffe
晴天的雨.9923 天前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
无敌贵点大王3 天前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
淡海水3 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Logic1013 天前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质