用数组描述的链表叫做静态链表,这种描述方法称为游标实现法。
- 我们对数组的第一个和最后一个元素做特殊处理,他们的data不存放数据。
- 我们通常把未使用的数组元素称为备用链表。
- 数组的第一个元素,即下票为0的那个元素的cur就存放备用链表的第一个结点的下标。
- 数组的最后一个元素,即下标为MAXSIZE-1 的cur则存放第一个有数值的元素的下标,相当于单链表中头结点的作用。
静态链表优缺点总结
优点
在插入和删除操作时,只需要修改游标,不需要移动元素,从而改进了在顺序存储结构中的插入和删除操作需要移动大量元素的缺点
缺点
没有解决连续存储分配(数组)带来的表长难以确定的问题
失去了顺序存储结构随机存取的特性
总的来说,静态链表其实是为了给没有指针的变成语言设计的一种实现单链表功能的方法
尽管我们可以用单链表就不用静态链表了,但这样的思考方式是非常巧妙的,应该理解其思想,以备不时之需。