第十六周 專案一 (2)插入排序之希爾排序

2021-07-08 21:35:29 字數 811 閱讀 7272

/*

* 檔名稱: main.cpp

* 完成日期:2023年12月14日

* 版本號:codeblocks

** 問題描述: 插入排序之折半插入排序

* 輸入描述: 無

* 程式輸出: 見執行結果

*/#include #define maxsize 20

typedef int keytype; //定義關鍵字型別

typedef char infotype[10];

typedef struct //記錄型別

rectype; //排序的記錄型別定義

void shellsort(rectype r,int n) //希爾排序演算法

{ int i,j,gap;

rectype tmp;

gap=n/2; //增量置初值

while (gap>0)

{for (i=gap; i=0 && tmp.key

執行結果:

知識點總結:

基本思想: 先取定乙個小於n的整數d1最為第乙個增量,把錶的全部元素分成d1個組,所有相互之間距離為d1的倍數的元素放在同乙個組中,在各組內直接進行插入排序;然後取第二個增量(d2即所有元素放在同一組中進行直接插入排序。

學習心得:

通過原理來掌握演算法。

第十六周 專案一(2) 插入排序之希爾排序

檔名稱 main.cpp 完成日期 2016年12月15日 版本號 vc 6.0 問題描述 雜湊表及其運算的實現 輸入描述 無 程式輸出 main.c include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotyp...

第十六周專案3 希爾排序

檔名稱 專案3.cbp 作 者 朱希康 完成日期 2015年12月18日 版 本 號 v1.0 問題描述 對一組資料進行排序 程式輸出 排序後的結果 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype...

第十六周 專案一 驗證演算法(2) 希爾排序

檔名稱 test.cpp 完成日期 2015年12月14日 觀察執行結果並深刻領會演算法的思路和實現方法 2 希爾排序 1.希爾排序 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 type...