題目鏈結:
題目描述
歸併排序是乙個時間複雜度為o(nlogn)的演算法,對於大量資料遠遠優於氣泡排序與插入排序。
這是一道排序練習題,資料量較大,請使用歸併排序完成。
輸入
第一行乙個數字n,代表輸入的組數
其後每組第一行輸入乙個數字m,代表待排序數字的個數
其後m行每行乙個資料,大小在1~100000之間,互不相等,最多有10萬個資料。
輸出
公升序輸出排好序的資料,每行乙個數字
樣例輸入110
10987
6543
21樣例輸出12
3456
78910
#include
const
int maxn =
100010
;int a[maxn]
;void merge (
int a,
int l1,
int r1,
int l2,
int r2)
while
(i <= r1)
temp[index ++
]= a[i ++];
while
(j <= r2)
temp[index ++
]= a[j ++];
for(
int i =
0; i < index; i++
) a[l1 + i]
= temp [i];}
void
mergesort
(int a,
int left,
int right)
}int
main()
return0;
}
3105問題 B 基礎排序III 歸併排序
歸併排序是乙個時間複雜度為o nlogn 的演算法,對於大量資料遠遠優於氣泡排序與插入排序。這是一道排序練習題,資料量較大,請使用歸併排序完成。第一行乙個數字n,代表輸入的組數 其後每組第一行輸入乙個數字m,代表待排序數字的個數 其後m行每行乙個資料,大小在1 100000之間,互不相等,最多有10...
Codeup 3105 基礎排序III 歸併排序
歸併排序是乙個時間複雜度為o nlogn 的演算法,對於大量資料遠遠優於氣泡排序與插入排序。這是一道排序練習題,資料量較大,請使用歸併排序完成。第一行乙個數字n,代表輸入的組數 其後每組第一行輸入乙個數字m,代表待排序數字的個數 其後m行每行乙個資料,大小在1 100000之間,互不相等,最多有10...
基礎問題 快速排序 歸併排序
1.快速排序 快速排序是c.r.a.hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其為分治法 divide and conquermethod 該方法的基本思想是 1 先從數列中取出乙個數作為基準數。2 分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到...