11-2-置換-選擇排序-外部排序-第11章-《數據結構》課本源碼-嚴蔚敏吳偉民版


課本源碼部分

第11章  外部排序 - 置換-選擇排序

——《數據結構》-嚴蔚敏.吳偉民版

       源碼使用說明  鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明

       課本源碼合輯  鏈接☛☛☛ 《數據結構》課本源碼合輯

       習題集全解析  鏈接☛☛☛ 《數據結構題集》習題解析合輯

 

       本源碼引入的文件  鏈接☛ Status.hScanf.c

 

      文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲10 內部排序\02 ReSeSort

 

概述

       置換-選擇排序(Replacement-Selection Sorting)也是樹形選擇排序的基礎上得來的,它的特點是:在整個排序(得到所有初始歸並段)的過程中,選擇最小(或最大)關鍵字和輸入、輸出交叉或平行進行。

解析

       置換-選擇排序的主要思路是:用敗者樹從已經傳遞到內存中的記錄中找到關鍵值最小(或最大)的記錄,然后將此記錄寫入外存,再將外存中一個沒有排序過的記錄傳遞到內存(因為之前那個記錄寫入外存后已經給它空出內存),然后再用敗者樹的一次調整過程找到最小關鍵值記錄(這個調整過程中需要注意:比已經寫入本初始歸並段的記錄關鍵值小的記錄不能參見篩選,它要等到本初始段結束,下一個初始段中才可以進行篩選),再將此最小關鍵值記錄調出,再調入新的記錄.......依此進行指導所有記錄已經排序過。內存中的記錄就是所用敗者樹的葉子節點。

源碼

       文件一 ☛  ReSeSort.h 

 

       文件二 ☛  ReSeSort.c 

 

       文件三 ☛  ReSeSort-main.c (測試文檔)

       文件四 ☛  TestData.txt(排序表測試數據)

測試結果展示

 

       更多章節持續更新中...微笑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM