1. 头结点:在单链表的第一个结点之前人为地附设的一个结点。
2.
3.头指针存放头结点的位置
4. 单链表是非随机存取的存储结构。
5. 静态链表表示
#define MAXSIZE 1000 / /链表的最大长度
typedef struct{
ElemType data;
int cur;
}component, SLinkList[MAXSIZE];
6.循环链表:是一种头尾相接的链表(即:表中最后一个结点的指针域指向头结点,整个链表形成一个环)。
8.优点:从表中任一结点出发均可找到表中其他结点
9.由于循环链表中没有 NULL 指针,故涉及遍历操作时, 其终止条件就不再像非循环链那样判断 p 或 p ->next 是否 为空,而是判断它们是否等于头指针。
10.四种存储方式的比较
1、顺序存储的固有特点:
逻辑顺序与物理顺序一致,本质上是用数组存储线性表的各个元素(即随机存取);存储密度大,存储空间利用率高。
2、链式存储的固有特点:
元素之间的关系采用这些元素所在的结点的”指针”信息表示(插、删不需要移动结点)。
3、静态存储的固有特点:
在程序运行的过程中不用考虑追加内存的分配问题。
4、动态存储的固有特点:
可动态分配内存;有效的利用内存资源,使程序具有可扩展性。