第十六周實踐專案1 驗證演算法(5)歸併排序

2021-07-08 21:34:26 字數 1384 閱讀 2519

/*     

檔名稱:專案1-5.cbp

作 者:劉晨筱

完成日期:2023年12月14日

版 本 號:v1.0

問題描述:用序列作為測試資料,

執行演算法對應程式,觀察執行結果並深刻領會演算法的思路和實現方法:

輸入描述:無

程式輸出:測試資料

*/

**詳情:

#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) //對整個數序進行一趟歸併

void mergesort(rectype r,int n) //自底向上的二路歸併演算法

int main()

; for (i=0; i

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

printf("排序前:");

for (i=0; i

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

printf("\n");

mergesort(r,n);

printf("排序後:");

for (i=0; i

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

printf("\n");

return 0;

}

執行結果:

知識點總結:
歸併排序演算法的驗證。

第十六周 專案1 驗證演算法

檔名稱 main.cpp,btree.h,btree.cpp 完成日期 2015年12月14日 版本號 code block 12.11 問題描述 程式,觀察執行結果並深刻領會演算法的思路和實現方法 2 希爾排序 測試 include define maxsize 20 typedef int ke...

第十六周 專案1 驗證演算法

檔名稱 main.cpp,btree.h,btree.cpp 完成日期 2015年12月14日 版本號 code block 12.11 問題描述 程式,觀察執行結果並深刻領會演算法的思路和實現方法 4 快速排序 測試 include define maxsize 20 typedef int ke...

第十六周 專案1 驗證演算法

檔名稱 main.cpp,btree.h,btree.cpp 完成日期 2015年12月14日 版本號 code block 12.11 問題描述 程式,觀察執行結果並深刻領會演算法的思路和實現方法 歸併排序 測試 include include define maxsize 20 typedef ...