2-6-静态链表-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
2016-02-28 01:56
477 查看
课本源码部分
第2章 线性表 - 静态链表
——《数据结构》-严蔚敏.吴伟民版
[b]★有疑问先阅读★[/b]
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ [b]Status.h[/b]
相关测试数据下载 链接☛ 无数据
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲02 线性表\06 StaticLinkedList
静态链表是特殊的顺序表,它从数组(一块连续的内存)中孕育,但行为却类似于单链表,它反映出了链式单链表在系统中实现的本质。静态链表依靠自身的一个游标来实现单链表中结构指针的作用,所以,在存取元素时,一方面要考虑静态链表内部的游标变动,另一方面也要考虑整个空间中剩余内存的游标变化,因为整个内存块同样也是通过游标来链接的。
静态链表存储结构及存取机制如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/b4044b8484b8bb61f46e6852bf52c80a.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/910da52510f5ac5dc169c43fae214def.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/01a91eabb370e6a4831cb4944b0f096a.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/fc09c5431ab929bfcc6e1679eda209c5.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/9b7a5c522a32193b54ea70a5819ab377.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/cb457d37c583aad4cfadf1a43a450439.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/17c75662271e864b6bc1b2b11c4fe731.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/3f6584b787e40743ff6bbfb36e760cb8.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/c71c0f163b032bf723c1c2fd14b38fae.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/b06a0425d319ca9c1959baf590632c64.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/cf69aa4aa20f57c123a9add579f37444.png)
更多章节持续更新中...
第2章 线性表 - 静态链表
——《数据结构》-严蔚敏.吴伟民版
[b]★有疑问先阅读★[/b]
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ [b]Status.h[/b]
相关测试数据下载 链接☛ 无数据
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲02 线性表\06 StaticLinkedList
概述
静态链表用数组存放数据,存取方式模拟了系统的malloc分配和free回收机制。解析
在《数据结构》原书中,对静态链表的表述是有些复杂的,这里对其进行了适当简化,但中心思想不变。静态链表是特殊的顺序表,它从数组(一块连续的内存)中孕育,但行为却类似于单链表,它反映出了链式单链表在系统中实现的本质。静态链表依靠自身的一个游标来实现单链表中结构指针的作用,所以,在存取元素时,一方面要考虑静态链表内部的游标变动,另一方面也要考虑整个空间中剩余内存的游标变化,因为整个内存块同样也是通过游标来链接的。
静态链表存储结构及存取机制如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/b4044b8484b8bb61f46e6852bf52c80a.png)
可能涉及到的语法难点
灵活应用typedef来创造新类型,比如在静态空间SPACE定义时,将整个结构数组看做了一个新的类型Component。源码
文件一 ☛ StaticLinkedList.h
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/910da52510f5ac5dc169c43fae214def.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/01a91eabb370e6a4831cb4944b0f096a.png)
文件二 ☛ StaticLinkedList.c
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/fc09c5431ab929bfcc6e1679eda209c5.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/9b7a5c522a32193b54ea70a5819ab377.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/cb457d37c583aad4cfadf1a43a450439.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/17c75662271e864b6bc1b2b11c4fe731.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/3f6584b787e40743ff6bbfb36e760cb8.png)
文件三 ☛ StaticLinkedList-main.c (测试文档)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/c71c0f163b032bf723c1c2fd14b38fae.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/b06a0425d319ca9c1959baf590632c64.png)
测试结果展示
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/18/cf69aa4aa20f57c123a9add579f37444.png)
更多章节持续更新中...
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/61c17ed2eb67211a84e137429ac3f7ad.gif)
相关文章推荐
- 回文串判断与查找
- 2-5-归并链式存储的单链表-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- 2-4-单链表链式存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- 2-3-归并单链表(顺序表)-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- 2-2-求并集A=A∪B-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- 2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
- 《数据结构》带头结点单链表的合并
- 数据结构之串
- 《数据结构进行曲》 带头结点单循环链表的合并
- 数据结构与算法基础(二)之单链表的插入与删除操作
- 数据结构大二课程设计:QT实现线段树
- 数据结构算法之排序系列Java、C源码实现(9)--总结
- 数据结构算法之排序系列Java、C源码实现(8)--基数排序
- 数据结构算法之排序系列Java、C源码实现(7)--归并排序
- 数据结构算法之排序系列Java、C源码实现(6)--快速排序
- 数据结构算法之排序系列Java、C源码实现(5)--冒泡排序
- 数据结构之单链表——带头节点和不带头节点(C/C++)
- 数据结构算法之排序系列Java、C源码实现(4)--堆排序
- 数据结构算法之排序系列Java、C源码实现(3)--直接选择排序
- 数据结构算法之排序系列Java、C源码实现(2)--希尔排序