【1】8. 静态链表综合知识点

本文介绍了静态链表的概念,区别于单链表,它将数据元素存储在连续空间中,通过数组下标作为游标指示下一个元素位置。静态链表的头结点为数组下标0,最后一个结点的游标设为-1。文中还讨论了静态链表的代码定义,以及初始化、查找、插入和删除操作的实现,并总结了其优缺点:动态插入删除但无法随机访问,且容量固定。
摘要由CSDN通过智能技术生成

目录

1. 概念理解

2. 代码定义

3. 实现基本操作

4. 小结


 

1. 概念理解

<1>. 和单链表的区别

单链表:各个结点在内存中星罗棋布、散落天涯。每个结点包含 数据域 和 指针域, 指针域 指向下一结点的位置。

静态链表:分配一整片连续的空间,多个结点集中安置。 每个结点包含了 数据域 和 下一个结点的数组下标 ( 游标 ) 。 各个数据元素存放在这一整片连续空间中某个位置。

 

<2>. 细节说明

<1> 静态链表中数组下标为 0 的结点充当了 “头结点” 的作用,(也就是说该结点不存放实际的数据元素)。静态链表中的数组下标(游标)类似单链表中指针,只不过指针指明了具体的内存地址,而静态链表的游标只是指明了下一个元素的数组下标。

<2> 在单链表中,最后一个结点指针指向了 NULL, 而在静态链表中,最后一个结点的游标值设置为了 -1 。

<3> 静态链表中,存放各个节点的内存空间是连续的。所以,假设一个静态链表每个数据元素 占 4B, 每个游标占 4B,每个结点共 8B,又假设起始位置为 addr ,那么数组下标为 2 的存放地址为 (addr + 2*8)  。通过这样的方式就可以将静态链表的数组下标(游标)把它映射成某一个数组下标所对应节点的实际内存地址。 

 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值