版权声明:本文为博主原创文章,未经博主允许,不得转载。

11-2-置换-选择排序-外部排序-第11章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分

第11章  外部排序 - 置换-选择排序

——《数据结构》-严蔚敏.吴伟民版

       源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

       课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑

       习题集全解析  链接☛☛☛ 《数据结构题集》习题解析合辑

 

       本源码引入的文件  链接☛ Status.hScanf.c

 

      文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲10 内部排序\02 ReSeSort

 

概述

       置换-选择排序(Replacement-Selection Sorting)也是树形选择排序的基础上得来的,它的特点是:在整个排序(得到所有初始归并段)的过程中,选择最小(或最大)关键字和输入、输出交叉或平行进行。

解析

       置换-选择排序的主要思路是:用败者树从已经传递到内存中的记录中找到关键值最小(或最大)的记录,然后将此记录写入外存,再将外存中一个没有排序过的记录传递到内存(因为之前那个记录写入外存后已经给它空出内存),然后再用败者树的一次调整过程找到最小关键值记录(这个调整过程中需要注意:比已经写入本初始归并段的记录关键值小的记录不能参见筛选,它要等到本初始段结束,下一个初始段中才可以进行筛选),再将此最小关键值记录调出,再调入新的记录.......依此进行指导所有记录已经排序过。内存中的记录就是所用败者树的叶子节点。

源码

       文件一 ☛  ReSeSort.h 

 

       文件二 ☛  ReSeSort.c 

 

       文件三 ☛  ReSeSort-main.c (测试文档)

       文件四 ☛  TestData.txt(排序表测试数据)

测试结果展示

 

       更多章节持续更新中...微笑

posted @ 2016-06-23 09:35  康建伟  阅读(2056)  评论(0编辑  收藏

版权声明:本文为博主原创文章,未经博主允许,不得转载。