课本源码部分
第2章 线性表-静态链表
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构习题集》答案解析合辑
习题完整源码 链接☛☛☛ 习题完整源码合辑
本文涉及文件所在目录:数据结构\▲课本算法实现\▲02 线性表\06 StaticLinkedList\
概述
静态链表用数组存放数据,存取方式模拟了系统的malloc分配和free回收机制。
解析
在《数据结构》原书中,对静态链表的表述是有些复杂的,这里对其进行了适当简化,但中心思想不变。
静态链表是特殊的顺序表,它从数组(一块连续的内存)中孕育,但行为却类似于单链表,它反映出了链式单链表在系统中实现的本质。静态链表依靠自身的一个游标来实现单链表中结构指针的作用,所以,在存取元素时,一方面要考虑静态链表内部的游标变动,另一方面也要考虑整个空间中剩余内存的游标变化,因为整个内存块同样也是通过游标来链接的。
静态链表存储结构及存取机制如下图:
可能涉及到的语法难点
灵活应用typedef来创造新类型,比如在静态空间SPACE定义时,将整个结构数组看做了一个新的类型Component。
源码
文件一 ☛ StaticLinkedList.h
本文档需要额外引入状态码头文件 ☛☛☛ Status.h
文件二 ☛ StaticLinkedList.c
文件三 ☛ StaticLinkedList-main.c(测试文档)
测试结果展示
更多章节持续更新中...