线性表:零个或多个数据元素的有限序列。
特点:
是一个序列:元素之间是有序的,第一个无前驱,最后一个无后继,其余的元素则有且只能有一个唯一的前驱和唯一的后继。
数据元素是有限的。
数学模型:
一组数据(a1,a2,a3,……,ai-1,ai,ai+1,……,an),则ai-1是ai的前驱,反之ai是ai-1的后继。
线性表元素的个数n(n>=0)定义为线性表的长度,当n=0是,称为空表。
单链表的创建过程有以下几步:
1 ) 定义链表的数据结构;
2 ) 创建一个空表;
3 ) 利用malloc ( )函数向系统申请分配一个节点;
4 ) 将新节点的指针成员赋值为空。若是空表,将新节点连接到表头;若是非空表,将新
节点接到表尾;
5 ) 判断一下是否有后续节点要接入链表,若有转到3 ),否则结束;
单链表的输出过程有以下几步
1) 找到表头;
2) 若是非空表,输出节点的值成员,是空表则退出;
3 ) 跟踪链表的增长,即找到下一个节点的地址;
4) 转到2 ).
总结:
线性表 | ||||
顺序存储结构 |
链式存储结构 |
|||
|
单链表 |
静态链表 |
循环链表 |
双向链表 |