双链表分析
来源:互联网 发布:linux系统命令 编辑:程序博客网 时间:2024/05/18 01:29
网上很多对双向链表解释的文章都是用这个结构:
它们的连接情况是这样的:
相当的不直观,今天我要从详细的地址出发来解释双向链表的原理。
现定义一个结构体如下:
struct student
{char name;
struct student *next;
struct student *prior;
};
现在有5个人A,B,C,D,E.这五个人构成的链表如下:
虚线部分为地址值,这个是为了描述方便随便写的值,在创建上述的链表时其实不用关心地址值到底是多少,这些地址都会放到某个变量当中,只要对变量进行赋值传递就能实现链表的构建。这里完全是为了分析才这么写的。从图中很容易看出蓝色的箭头组成了一个单链表,红色的箭头又组成了一个单链表(逆向的)。
下面将分析链表的前插与删除的例子,理解了这两个功能,其他的功能都能自己分析出来了。
双链表的前插,下面这是代码和代码分析。
void InsertBefore(student *p,char x)
下面再分析删除,删除比较简单,代码如下:
void DeleteNode(student *p)
- 双链表分析
- 分析
- 分析
- 分析
- 分析
- 分析
- 分析
- 分析
- 分析
- 分析
- 大家帮忙分析分析!
- FFMpeg分析详细分析
- FFMpeg分析详细分析
- core 分析的分析
- 写给自己,分析分析
- FFMpeg分析详细分析
- 图像分析------直方图分析
- 静态分析 - 数据流分析
- hdoj 1257 最少拦截系统【贪心】
- adaptiveThreshold函数
- Java中的自增操作符与中间缓存变量机制
- 153Sum
- Oracle学习笔记20150823java程操作数据库与部分常见函数的使用
- 双链表分析
- Android UI设计——RadioButton和CheckBox控件
- SkCanvas旋转矩阵SkMatrix
- C源码@数据结构与算法->BinomialQueue
- PHP位运算符
- POJ1265----Area
- HDU 4135 Co-prime(容斥定理)
- TMS320F241在混合动力汽车电机控制设计应用
- 虚拟机上为ubuntu 扩充硬盘容量