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

目录

一,链表的分类

二,双向链表

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

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

相关推荐
延凡科技12 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
皓月斯语18 小时前
B3842 [GESP202306 三级] 春游 题解
数据结构·c++·算法·题解
春日见18 小时前
算法与数据结构----哈希表
数据结构·人工智能·算法·机器学习·自动驾驶·哈希算法·散列表
萌动的小火苗19 小时前
嵌入式开发中的栈与队列:任务调度为什么依赖数据结构
数据结构·c++·单片机·嵌入式硬件
叩码以求索19 小时前
统计按位或能得到最大值的子集数目(一)
数据结构·算法
tachibana219 小时前
hot100 数组中的第K个最大元素(215)
java·数据结构·算法·leetcode
星恒随风19 小时前
C++ STL 栈详解:stack 的使用、经典题目与简单模拟实现
开发语言·数据结构·c++·笔记·学习
txzrxz19 小时前
单调队列讲解
数据结构·c++·算法·单调队列
Keven_1120 小时前
算法札记:树状数组的用途
数据结构·算法
cpp_250121 小时前
P1540 [NOIP 2010 提高组] 机器翻译
数据结构·c++·算法·队列·noip·洛谷题解