数据结构简单入门/复习(二)-循环链表与双向链表(C语言)
2020-08-09 10:49
316 查看
文章首发于:http://mwhls.top/329.html
新的更新内容请到mwhls.top查看。
循环链表
循环链表是在线性链表的基础上,将最后一个结点的next设置为头指针。即
|empty - first| -> |data1 - second| -> |data2 - head|
双向链表
定义与结构
双向链表是在线性链表的基础上加入一个指向直接前驱的指针变量prior。
define int ElemType //元素类型设置为int typedef struct DuLNode{ //链表结构定义 ElemType data; //数据域 struct DuLNode *prior //直接前驱 struct DuLNode *next; //直接后继 }DuLNode;
插入
目的:只知道A与B,A的直接后继是C,将B插入A后C前。
原理:将B的前驱设置为A,后继设置为C,将C前驱设置为B,A后继设置为B
B->prior = A; B->next = A->next; A->next->prior = B; A->next = B;
结点删除
目的:只知道A,删除ABC中的B。
原理:将A的后继设置为C,将B释放,将C的前驱设置为A。
A->next = A->next->next; free(A->next->prior); A->next->prior = A;
相关文章推荐
- 【数据结构】C语言实现双向链表(带头尾指针,非循环链表)
- 数据结构简单入门/复习(三)-栈与队列(C语言)
- 数据结构简单入门/复习(四)-树与二叉树的知识介绍(C语言)
- 数据结构简单入门/复习(五)-树与二叉树的代码示例(C语言)
- 数据结构复习 之 一个简单双向链表的实现
- 数据结构简单入门/复习(六)-图的知识介绍(C语言)
- 数据结构简单入门/复习(七)-图的代码示例(C语言)
- 《数据结构》 循环链表和双向链表常用操作代码集合
- C语言实现数据结构中的双向链表
- C语言-----链表的各项操作总结------双向循环链表
- C语言数据结构之双向链表
- Day 18 数据结构--循环链表与双向循环链表
- C语言学习历程(十六)数据结构-单双向链表
- 数据结构学习笔记三 循环链表及双向链表
- 简单数据结构之双向链表(C++实现)
- C语言简单入门之结构体和链表
- C语言数据结构----双向链表
- 循环链表及双向链表的c语言实现
- C语言数据结构 双向链表的建立与基本操作
- 一个简单的双向链表(C语言)