因为静态链表在实际考察中很少考到,而且考到也基本不会问代码实现,我们这里主要介绍静态链表的一些实现思路
一、定义
#define MaxSize 10 //静态链表的最大长度
struct Node{//静态链表结构类型的定义
ElemType data;//存储数据元素
int next;//下一个元素的数组下标
}
void testSLinkList(){
struct Node a[MaxSize];//数组a作为静态链表
}
二、基本思路
静态链表则是需要分配一块连续的内存空间,各个数据元素存放在这一整片空间中的某些位置。静态链表中的每一个结点包含了数据元素还有下一结点的数组下标。
在静态链表中,数组下标为0的结点,充当了头结点的角色,也就是说该结点不存放实际数据元素,而头结点的下一结点,它是存放数组下标为2的位置
单链表的表尾元素,它的next指针是指向NULL的,在静态链表中,如果要表示这个结点是最后一个结点,那么它的游标值可以设为-1,也就是下图中的e4