函式:
#include #include #include #include #define minlength 64 //最短分段長度
typedef int keytype; //定義關鍵字型別
typedef char infotype[10];
typedef struct //記錄型別
rectype; //排序的記錄型別定義
void getdata(rectype *&r, int n)
r[j+1]=tmp; //在j+1處插入r[i]
}}//合併兩個有序表
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()
printf("\n");
printf("排序後(後300個):\n");
第16周專案3 歸併排序演算法的排序
問題及 檔名稱 專案3.cpp 作 者 孫子晴 完成日期 2016年12月18日 版 本 號 v1.0 問題描述 歸併排序演算法的改進 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度 的演算法。這樣做,會帶來一定的好處,例如歸併排序...
第16周專案3 歸併排序演算法的改進
問題及 檔名稱 cpp1.cpp 完成日期 2015年12月14日 版本號 v1.0 問題描述 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度的演算法。這樣做,會帶來一定的好處,例如歸併排序減少分配 臨時儲存區域的頻次,快速排序減少...
第16周 專案3 歸併排序演算法的改進
問題描述及 ifndef btree h included define btree h included 煙台大學計控學院 作 者 楊徵 完成日期 2015年12月18日 問題描述 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度的...