静态链表的理解

        提出将数组的元素都是由两个数据域组成,data cur。也就是说,数组的每个下标都对应一个 data 和一个 cur。 数据域data ,用来存放数据元素, 就是通常我们要处理的数据;而游标 cur 相当于单链表中的 next 指针,存放该元素的后继在数组中的下标。

        把这种用描述的链表叫做静态链表,这种描述方法还叫做游标实现法

        为了我们方便插入数据,我们通常会把数组建立得大些,以便有一些空闲空间可以便于插入时不至于溢出。

     

/*线性求的静态链求存储结构* /
#define MAXSIZE 1000 /*假设钱求的最大长度是 1000*/ 
typedef struct
{
    ElernType data;
    int cur; /*游标 (Cursor) .为 0 时表示元,指向8/
) 

另外我们对数组第个和最后个元素作为特殊元素处理,不存数据。我们通常把未被使用的数组元素称为备用链表。而数组第个元素,即下标为 0 的元素的 cur就存放备用链表的第个结点的下标 ; 而数组的最后个元素的 cur 则存放第一个有数值的元素的下标,相当于单链表中的头结点作用.如下图所示(可以形象的看出)


然后,大家分析一下下面这个图,能不能理解?欢迎大家在评论区评论?有问题的话,可以通过邮箱联系我奥(1834714978@qq.com)。


然后我们再来谈一下,静态链表优缺点


       总的来说,静态链表其实是为了给没有指针的高级语言设计的种实现单链表能力的方法。尽管大家不定会用得上,但这样的思考方式是非常巧妙的,应该理解其思想,以备不时之需。

欢迎大家在讨论区讨论。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值