什么是静态链表
静态链表是使用数组描述的链表,在使用C语言中的结构体数组定义时,结构体变量中包括数据data和游标cur。1234567//---------线性表的静态单链表存储结构--------typedef struct{ ElemType data; int cur;}SLinkList[MAXSIZE];
对数组的特殊处理
- 数组的第一个和最后一个元素做特殊处理,他们的data不存放数据。
- 通常把未使用的数组元素称为备用链表。
- 数组的第一个元素,即下标为0的那个元素cur就存放备用链表的第一个节点的下标。
- 数组的最后一个元素,及下标为MAXSIZE-1的cur则存放的第一个有数值的元素的下标,相当于单链表中的头结点作用。
- 已使用的链表的最后一个元素游标为0。
下标 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | … | 999 |
---|---|---|---|---|---|---|---|---|---|
数据 | A | C | D | E | … | ||||
游标 | 5 | 2 | 3 | 4 | 0 | 6 | 7 | … | 1 |
如上表,下标为0的元素中数据为空,游标为5,指向备用链表的首元素,下标为1,2,3,4的元素数据不为空,游标指向后继元素;最后一个元素下标为999,数据为空,游标指向首链表首元素下表为1。
Java实现相关操作
|
|
|
|
|
|
|
|