静态链表:用数组描述的链表。
数组的元素是由data和cur两个数据域组成的,其中:
1、数据域data是用来存放数据元素的。
2、数据域cur相当于链式存储结构的next指针,用来存放该元素的后继在数组中的下标,通常把cur称为游标。
我们在创建静态链表时,为了随时可以插入数据,会建立一个较大的数组,防止内存过小导致溢出。
在创建数组时,我们对数组第一个元素和最后一个元素不做存放数据的处理。数组逻辑上分为两个链表:备用链表(空闲的节点)和数据链表(已被使用的节点)。
备用链表:未被使用的数组元素。
数据链表:有效数据链路。
静态链表的插入操作:
Status ListInstert(StaticLinkList L, int i, ElemType e)
{
int j, k l;
k = MAX_SIZE - 1; //k是最后一个元素的下标
if (i < 1 || i > ListLength(L) +1 )
return ERROR;
j = Malloc_SSL(L);