/*
* 檔名稱: 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...