希爾排序 華農oj 8640

2021-10-05 19:33:29 字數 837 閱讀 2429

8640 希爾(shell)排序

時間限制:1000ms **長度限制:10kb

提交次數:1858 通過次數:1304

題型: 程式設計題 語言: g++;gcc

description

用函式實現希爾(shell)排序,並輸出每趟排序的結果,初始增量d=n/2,其後d=d/2

輸入格式

第一行:鍵盤輸入待排序關鍵的個數n

第二行:輸入n個待排序關鍵字,用空格分隔資料

輸出格式

每行輸出一趟排序結果,資料之間用乙個空格分隔

輸入樣例

105 4 8 0 9 3 2 6 7 1

輸出樣例

3 2 6 0 1 5 4 8 7 9

1 0 3 2 4 5 6 8 7 9

0 1 2 3 4 5 6 7 8 9

#include

#define maxn 10000

//假設陣列元素不超過10000個

int a[maxn];/*

希爾排序的原理:

插入排序的改進,如剛開始先相隔5個排序,然後相隔三個,然後相隔乙個,不同的相隔造成的效果不同。

下面根據效能的優劣寫出幾個排序方法,由於題目要求,*****可能不是最優的。

1: 2:2^n-1,n不斷變小

3:n/=2

*/int

main()

for(j=

0;j)printf

("%d "

,a[j]);

printf

("\n");

}return0;

}

選擇排序 華農oj 8643

8643 簡單選擇排序 時間限制 1000ms 長度限制 10kb 提交次數 2235 通過次數 1301 題型 程式設計題 語言 g gcc description 用函式實現簡單選擇排序,並輸出每趟排序的結果 輸入格式 第一行 鍵盤輸入待排序關鍵的個數n 第二行 輸入n個待排序關鍵字,用空格分隔...

堆排序 華農oj8644

8644 堆排序 時間限制 1000ms 長度限制 10kb 提交次數 1909 通過次數 1257 題型 程式設計題 語言 g gcc description 用函式實現堆排序,並輸出每趟排序的結果 輸入格式 第一行 鍵盤輸入待排序關鍵的個數n 第二行 輸入n個待排序關鍵字,用空格分隔資料 輸出格...

華農oj資料結構 8578

8578 順序表逆置 時間限制 1000ms 長度限制 10kb 提交次數 3660 通過次數 2149 題型 程式設計題 語言 g gcc 輸入格式 第一行 輸入順序表的元素個數 第二行 輸入順序表的各元素,用空格分開 輸出格式 第一行 逆置前的順序表元素列表 第二行 逆置後的順序表元素列表 輸入...