10-12-顺序表地址排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分
第10章 内部排序 - 顺序表地址排序
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ SequenceListType.c
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲10 内部排序\12 AddressSort
概述
前面讨论的多数排序算法是在顺序存储结构上实现的,因此在排序过程中需进行大量记录的移动。当记录很大(即每个记录占用较大空间)时,时间耗费很大,此时可以采用静态链表作存储结构,如表插入排序,链式基数排序,以修改指针代替记录移动。但是,有些排序方法,如快速排序和堆排序,无法实现表排序。在这种情况下,可以进行“地址排序”,即另设一个地址向量指示相应的记录,同时在排序过程中不移动记录而移动地址向量中相应分量的内容。
解析
顺序表地址排序适用于记录本身较大的场景。先根据关键字对各关键字的地址排好序,然后再一次性将记录放到位。
源码
文件一 ☛ AddressSort.h
文件二 ☛ AddressSort.c
文件三 ☛ AddressSort-main.c (测试文档)
文件四 ☛ TestData.txt(排序表测试数据)
测试结果展示