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 輸入格式 第一行 輸入順序表的元素個數 第二行 輸入順序表的各元素,用空格分開 輸出格式 第一行 逆置前的順序表元素列表 第二行 逆置後的順序表元素列表 輸入...