链表的游标实现

链表的游标实现主要用于一些没有指针的语言需要实现链表功能

1. 游标链表原理如下:

由于没有指针,首先要申请一个足够大的数组来存放链表的所有元素。

数组的元素类型为链表节点(结构体)类型,主要包含数据区和指向下一节点的标记区。

2. 链表结构定义如下:


链表节点的结构体定义如下:


申请链表所存放数组:


数组结构如下:


链表结构定义:


链表在数组的结构如下:


3. 链表功能定义

初始化链表数组:


将数组的数据区全部初始化为0,将数组的标记区初始化为下一位置的下标值,即指向下一个元素。

但是要将最后一个元素的标记区设为0,表示数组已经到结尾。

数组第一个元素的标记区的意思为:下一个未使用的空间的下标值。


初始化链表:


首先将0位置处指向的空间分配给链表头元素,并将0位置处指向下一个未使用的空间

将链表的头元素指向0表示链表的结尾,即链表无其他元素


在链表的pos位置插入元素data


在链表中插入元素,首先要将元素的值赋给下一个未使用的空间,即数组0位置所指向的空间,然后将该未使用的空间指向链表的pos位,然后将链表的pos-1位指向该未使用的空间即可。

代码实现如下:


打印链表


销毁链表:


阅读更多
换一批

没有更多推荐了,返回首页