常见链表示意图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)空表
L ─→ ∧ // ∧ 表头结点
有:L->next==L->prior==NULL
四.双向循环链 (1)空表
L ─→ //
有:L->next==L->prior==L
表头结点
(2)非空表
prior data next L ─→ // ─→ a1 ─→ ... ─→ an 表头结点 p 尾结点
有:H->next≠H, H≠NULL (2) 带表头结点的空循环单链表
H -→ // 头指针 头结点
有:H->next==H, H≠NULL
2.只设尾指针的循环链表
(1)非空表
/// → a1 → a2 表头结点 首结点 →...→ an 尾结点 tail 尾指针
有:tail指向表尾结点 tail->data==an tail->next 指向表头结点 tail->next->next指向首结点 tail->next->next->data==a1
(2) 空表 /// 表头结点 tail 尾指针
有:tail->next==tail
三.双向链表的一般形式 (1)非空表
prior data next L ─→ // ─→ ∧ a1 ─→ 表头结点 首结点 a2 ─→ ...─→ an ∧ 尾结点
有:L为头指针,L指向表头结点,L->next指向首结点 L->next->data==a1 L->prior指向尾结点, L->prior->data==an L->next->prior== L->prior->next==NULL
一.单链表的一般形式: (1)不带表头结点的单链表: data next head ---→ a1 ---→ a2 --→ ...--→ an
头指针 首结点
∧
尾结点
其中:data称为数据域,next称为指针域/链域 当 head==NULL,为空表;否则为非空表
(2)带表头结点的单链表:
a.非空表: data next head ---→ /// --→ a1 --→...--→ an ∧ 头指针 表头结点 首结点 尾结点 b.空表: data next head ---→ /// ∧ 头指针 表头结点
设p指向a1, 有: p->next指向a2 , p->next->prior指向a1, 所以,p==p->next->prior 同理:p==p->prior->next
其中:head指向表头结点, head->data不放元素, head->next指向首结点a1, 当head->next==NULL,为空表;否则为非空表。
二、单循环链表 1 一般形式 (1) 带表头结点的非空循环单链表
H -→ // → a1 → a2 头指针 头结点 首结点 →...→ an 尾结点