堆排序 華農oj8644

2021-10-05 23:45:50 字數 1092 閱讀 8479

8644 堆排序

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

提交次數:1909 通過次數:1257

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

description

用函式實現堆排序,並輸出每趟排序的結果

輸入格式

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

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

輸出格式

第一行:初始建堆後的結果

其後各行輸出交換堆頂元素並調整堆的結果,資料之間用乙個空格分隔

輸入樣例

105 4 8 0 9 3 2 6 7 1

輸出樣例

9 7 8 6 4 3 2 5 0 1

8 7 3 6 4 1 2 5 0 9

7 6 3 5 4 1 2 0 8 9

6 5 3 0 4 1 2 7 8 9

5 4 3 0 2 1 6 7 8 9

4 2 3 0 1 5 6 7 8 9

3 2 1 0 4 5 6 7 8 9

2 0 1 3 4 5 6 7 8 9

1 0 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8 9

//堆排序 

#include

#include

#include

#define maxn 10010

int ap[maxn]

;void

swap

(int

&a,int

&b)//建立最大堆,由於每次取最大元素反正末尾,就相當於順著按遞增順序排

void

dot(

int ap,

int i,

int n)

ap[j]

=tmp;

}int

main()

//建堆

for(

int i=n/

2;i>

0;i--

)for

(int i=n;i>=

1;i--

)return0;

}

希爾排序 華農oj 8640

8640 希爾 shell 排序 時間限制 1000ms 長度限制 10kb 提交次數 1858 通過次數 1304 題型 程式設計題 語言 g gcc description 用函式實現希爾 shell 排序,並輸出每趟排序的結果,初始增量d n 2,其後d d 2 輸入格式 第一行 鍵盤輸入待排...

選擇排序 華農oj 8643

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

華農oj資料結構 8578

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