home
web board
problemset
standing
status
statistics
time limit: 1 sec
memory limit: 128 mb
submit: 482
solved: 206 [
submit][
status][
web board]
請分別應用堆排序方法(大頂堆)和歸併排序方法實現一組非常大的資料的遞增排序,分別輸出每次堆整序之後對應的堆頂的值和每次歸併之後的區域性序列。(考查堆排序演算法和歸併排序演算法)
第一行輸入為n(0 <= n <= 10000)為n個要排序的數字;
接下來輸入一行,包括n個要排序的數字,保證所有的數字都在int範圍內。
前n行每行輸出一次堆整序後堆頂的值(初建堆的堆頂元素在第乙個輸出,之後n - 1行每行輸出一次堆整序後堆頂元素的值)。
接下來輸出每一次歸併後的區域性序列,具體內容見輸出樣例。
55 4 3 2 1
54321[1, 1]: 5[2, 2]: 4[1, 2]: 4 5[3, 3]: 3[1, 3]: 3 4 5[4, 4]: 2[5, 5]: 1[4, 5]: 1 2[1, 5]: 1 2 3 4 5 [
submit][
status][
web board]
#include#include#include#include#include#define maxsize 10005
using namespace std;
static int h[maxsize],m[maxsize],c[maxsize],num[maxsize];
void heapadjust(int list,int s,int m);
void heapsort(int list,int n);
void heapadjust(int list,int s,int m)
list[s]=list[i];
s=i;
i*=2;
}list[s]=r;
}void creatheap(int list,int n)
}void msort(int array,int l,int h)
printf("%d\n",h[0]);
int j=n-1;
while(j>=1)
msort(m,0,n-1);
}return 0;
}
資料結構 排序
小小總結了下 希望別不記得 排序型別 排序方法 平均時間 最壞時間 最好時間 穩定空間 插入直接插入 o n2 o n2 o n 穩定o 1 希爾排序 o n3 2 增量序列最後為1,只有公因子1 不穩o 1 選擇簡單選擇 o n2 o n2 o n 穩定o 1 堆排序o n lb n o n lb...
資料結構 排序
郝斌版 資料結構 學習筆記 冒泡 公升序,12比,大放後面,再23比,直至最大的在最後面 插入 2,3,4,依次插入值,保證插入值後的序列為有序的 選擇 後面所有的最小值依次排到最前 快速排序 歸併排序 22排,44排,88排.排序演算法標準 時間,空間,穩定性 排序和查詢的關係 排序是查詢的前提,...
資料結構 排序
1.希爾排序 shellsort 增量序列d n為要排序數的個數 void shellinsertsort int a,int n,int dk n個要排序的數,dk是增量 2 堆排序 已知h s m 除了h s 外均滿足堆的定義 調整h s 使其成為大頂堆.即將對第s個結點為根的子樹篩選,para...