了解过线性表的链式存储结构以后,有人就想出来用数组来代替指针,来描述单链表。看看他们是怎么做到的。
静态链表
让数组的元素都由两个数据域组成,data和cur。也就是说,数组的每个下标都有对应的一个data和cur。数据域data,用来存放数据元素,而cur相当于单链表中的next指针,存放该元素的后继在数组中的下标,我们把cur叫做游标。
这种用数组描述的链表叫做静态链表,我们把这种描述叫做游标实现法。
另外我们对数组第一个和最后一个元素作为特殊元素处理,不存数据。我们通常把未使用的数组元素称为备用链表。
数组第一个元素,即下标为0的元素的cur存放备用链表的第一个节点的下标;而数组最后一个元素的cur存放第一个有数值的元素的下标,相当于单链表中的头节点的作用。
如下图:
我们对静态链表的插入和删除操作简单了解以下:
静态链表中要解决的是:如何用静态模拟动态链表的存储空间的分配,需要时申请,无用时释放。