静态链表--学习笔记(一)
什么是静态链表
说白了,就是想办法使用数组代替指针描述单链表
为什么需要静态链表
因为一些高级语言没有指针,无法实现链表结构
静态链表的实现的一些细节
- 将数组元素分为两个数据域:data和cur;
data:用于存放数据;
cur:用于存放元素后继的数组下标。 - 分配大小为maxsize的数组,因为静态链表是由数组实现的,所以与单链表不同,静态链表有存储上限,所以一般分配数组时会多分配一点。因此,数组主要分为两部分,一是有数据的区域,一是空闲空间(也叫备用链表)。
- 静态链表会对第一个和最后一个(或第二个)元素做特殊元素处理;
第一个(下标为0):cur存放备用链表第一个节点的下标;
最后一个(下标为maxsize):cur存放第一个有数值元素的下标,相当于头结点的作用。