第十六周 專案1 驗證演算法 希爾排序 快速排序

2021-07-25 09:38:11 字數 1859 閱讀 6870

問題描述:

/*       

*檔名稱:111.cpp

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

*版本:v1.0

*

序,觀察執行結果並深刻領會演算法的思路和實現方法:堆排序 歸併排序 基數排序

*輸入描述:無

*輸出描述:所得結果。

*/

1.堆排序

**:

#include #define maxsize 20  

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

typedef char infotype[10];

typedef struct //記錄型別

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

//調整堆

void sift(rectype r,int low,int high)

} int main()

;//a[0]空閒,不作為關鍵字

for (i=1; i<=n; i++)

r[i].key=a[i];

printf("排序前:");

for (i=1; i<=n; i++)

printf("%d ",r[i].key);

printf("\n");

heapsort(r,n);

printf("排序後:");

for (i=1; i<=n; i++)

printf("%d ",r[i].key);

printf("\n");

return 0;

}

執行結果:

2.歸併排序

**:

#include #include #define maxsize 20  

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

typedef char infotype[10];

typedef struct //記錄型別

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

void merge(rectype r,int low,int mid,int high)

else //將第2段中的記錄放入r1中

while (i<=mid) //將第1段餘下部分複製到r1

while (j<=high) //將第2段餘下部分複製到r1

for (k=0,i=low; i<=high; k++,i++) //將r1複製回r中

r[i]=r1[k];

}

void mergepass(rectype r,int length,int n) //對整個數序進行一趟歸併

3.基數排序

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

問題及 煙台大學計算機與控制工程學院 作 者 楊甯 完成日期 2015年12月14日 問題描述 用序列作為測試資料,驗證希爾排序。include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typede...

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

問題 檔名稱 專案1 2 cpp 作 者 黃玉嬌 完成日期 2016年12月15日 版 本 號 v1.0 問題描述 驗證希爾排序 輸入描述 無 程式輸出 測試資料 1.希爾排序 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef...

第十六周 驗證演算法(希爾排序)

all right reserved.date 2015年12月14日 版本 v1.0.1 作業系統 xp 執行環境 vc6.0 問題描述 用序列作為測試資料,include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char inf...