6 2 希爾排序的實現 10分 C語言

2021-10-13 19:09:34 字數 1259 閱讀 2263

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排序性,這樣各趟排序結果就不會打亂前...