6-2 希爾排序的實現 (10分)
本題要求實現一趟希爾排序函式,待排序列的長度1<=n<=1000。
函式介面定義:
void
shellinsert
(sqlist l,
int dk)
;
其中l是待排序表,使排序後的資料從小到大排列。 ###型別定義:
typedef
int keytype;
typedef
struct
sqlist;
裁判測試程式樣例:
#include
#include
typedef
int keytype;
typedef
struct
sqlist;
void
creatsqlist
(sqlist *l)
;/*待排序列建立,由裁判實現,細節不表*/
void
shellinsert
(sqlist l,
int dk)
;void
shellsort
(sqlist l)
;int
main()
return0;
}void
shellsort
(sqlist l)
;int t=3;
for(k=
0;k++k)
shellinsert
(l,dlta[k]);
}/*你的**將被嵌在這裡 */
輸入樣例:
第一行整數表示參與排序的關鍵字個數。第二行是關鍵字值 例如:
1052
4189
1012
36
輸出樣例:
輸出由小到大的有序序列,每乙個關鍵字之間由空格隔開,最後乙個關鍵字後有乙個空格。
123
4568
91012
我的**:
6 2 希爾排序的實現
函式介面定義 void shellinsert sqlist l,int dk 其中l是待排序表,使排序後的資料從小到大排列。型別定義 typedef int keytype typedef struct sqlist 裁判測試程式樣例 include include typedef int key...
希爾排序 C語言實現
希爾排序 shell s sort 又稱 縮小增量排序 diminishing increment sort 是插入排序的一種,因d.l.shell 於1959 年提出而得名。直接插人排序,當待排序的記錄個數較少且待排序序列的關鍵字基本有序時,效率較高。希爾排序基於以上兩點,從 減少記錄個數 和 序...
排序演算法的C語言實現 希爾排序
希爾排序和氣泡排序有點相似,但是不同的是希爾排序使用乙個序列h1,h2.hi,叫做增量序列。在使用增量hk排序後,所有相隔hk的元素都被排序。希爾排序衝破二次時間屏障的第一批演算法之一。它有乙個重要性質 hk 排序的檔案 此後將是 hk 1 排序 將保持它的 hk排序性,這樣各趟排序結果就不會打亂前...