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

目录

一,链表的分类

二,双向链表

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

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

相关推荐
rannn_11113 小时前
【力扣hot100】链表专题|160、206、234、141、142
java·算法·leetcode·链表·面试·开发
LuminousCPP18 小时前
数据结构-双向循环链表
c语言·数据结构·笔记·链表
白狐_79819 小时前
408数据结构第5章:树与二叉树②——遍历、线索树、森林与哈夫曼
数据结构·算法·深度优先
Jasmine_llq20 小时前
《P15800 [GESP202603 六级] 选数》
数据结构·long long·逆序线性 dp·从后往前推导·转移严格遵循题意·防止总和溢出·复杂度on
疯狂打码的少年21 小时前
【数据结构】串(字符串):基本概念与存储
数据结构·笔记
纵有疾風起1 天前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
wuyk5551 天前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机
LuminousCPP1 天前
数据结构-时间与复杂度|时间/空间复杂度 + 两道力扣练习 + 二分查找复盘
c语言·数据结构·经验分享·算法·leetcode
Nil2081 天前
leetcode 三数之和
数据结构·算法·leetcode
noipp1 天前
推荐题目:洛谷 P16689 出征
java·开发语言·数据结构·c++·算法·洛谷·luogu