11-2-置换-选择排序-外部排序-第11章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分
第11章 外部排序 - 置换-选择排序
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲10 内部排序\02 ReSeSort
概述
置换-选择排序(Replacement-Selection Sorting)也是树形选择排序的基础上得来的,它的特点是:在整个排序(得到所有初始归并段)的过程中,选择最小(或最大)关键字和输入、输出交叉或平行进行。
解析
置换-选择排序的主要思路是:用败者树从已经传递到内存中的记录中找到关键值最小(或最大)的记录,然后将此记录写入外存,再将外存中一个没有排序过的记录传递到内存(因为之前那个记录写入外存后已经给它空出内存),然后再用败者树的一次调整过程找到最小关键值记录(这个调整过程中需要注意:比已经写入本初始归并段的记录关键值小的记录不能参见筛选,它要等到本初始段结束,下一个初始段中才可以进行筛选),再将此最小关键值记录调出,再调入新的记录.......依此进行指导所有记录已经排序过。内存中的记录就是所用败者树的叶子节点。
源码
文件一 ☛ ReSeSort.h
文件二 ☛ ReSeSort.c
文件三 ☛ ReSeSort-main.c (测试文档)
文件四 ☛ TestData.txt(排序表测试数据)
测试结果展示