1. 双向链表的定义
【百度百科】
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。
- 链表中的每个节点的成员由两部分组成:
1. 数据域:专门用来保存各个成员的信息数据。
2. 指针域:专门用来与其他节点链接。
2. 结构体中的两个重要指针
直接后继 & 直接前驱:
-
直接后继:我个人习惯称之为后向指针,也习惯定义为pnext,该指针指向下一个节点,如果该节点为尾节点,那么pnext指向NULL。
-
直接前驱:同样我习惯称之为后向指针,也习惯定义为prev,该指针指向前一个节点,如果该节点为头节点,那么prev指向NULL。
3. 双向链表中节点的成员排序(冒泡排序)
在排序之前我们需要明确一点:<明确我们操作的链表的头节点的数据域是否写有数据>
因为有时候程序员写代码时为了链表方便操作会专门创建一个表头(头结点)
,即不存放数据的表头。