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