数据结构与算法学习笔记(五)
- 静态链表:用数组描述的链表叫做静态链表,这种描述方法叫做游标实现法
- 线性表的静态链表存储结构
-
#define MAXSIZE 1000 typedef struct { ElemType data; //数据 int cur; //游标(Cursor) }Component,StaticLinkList[MAXSIZE];
-
- 对静态链表进行初始化相当于初始化数组
-
Status IntList(StaticLinkList space) { int i; for (i = 0; i < MAXSIZE - 1 ; i++) { space[i].cur = i + 1; } space[MAXSIZE-1].cur = 0; return OK; }
-
- 静态链表初始化的特点
- 我们队数组的第一个和最后一个元素做特殊处理,他们的data不存放数据
- 我们通常把未使用的数组元素称为备用链表
- 数组的第一元素,即下标为0的那个元素的cur就存放备用链表的第一个结点的下标
- 数组元素的最后一个元素,即下标为MAXSIZE-1的cur则存放第一个有数值元素的下标,相当于单链表的头结点作用