歸併排序是乙個時間複雜度為o(nlogn)的演算法,對於大量資料遠遠優於氣泡排序與插入排序。
這是一道排序練習題,資料量較大,請使用歸併排序完成。
第一行乙個數字n,代表輸入的組數
其後每組第一行輸入乙個數字m,代表待排序數字的個數
其後m行每行乙個資料,大小在1~100000之間,互不相等,最多有10萬個資料。
公升序輸出排好序的資料,每行乙個數字
1101098
7654
321
1234567
8910
#include#includeconst int maxn=100010;
int a[maxn];
void merge(int a, int l1, int r1, int l2, int r2) else
} while(i<=r1) temp[index++]=a[i++];
while(j<=r2) temp[index++]=a[j++];
for(i=0; i}void mergesort(int a, int left, int right)
}int main()
mergesort(a, 0, m-1);
for(int i=0; in--;
} return 0;
}
Codeup 3105 基礎排序III 歸併排序
歸併排序是乙個時間複雜度為o nlogn 的演算法,對於大量資料遠遠優於氣泡排序與插入排序。這是一道排序練習題,資料量較大,請使用歸併排序完成。第一行乙個數字n,代表輸入的組數 其後每組第一行輸入乙個數字m,代表待排序數字的個數 其後m行每行乙個資料,大小在1 100000之間,互不相等,最多有10...
問題 B 基礎排序III 歸併排序
題目鏈結 題目描述 歸併排序是乙個時間複雜度為o nlogn 的演算法,對於大量資料遠遠優於氣泡排序與插入排序。這是一道排序練習題,資料量較大,請使用歸併排序完成。輸入 第一行乙個數字n,代表輸入的組數 其後每組第一行輸入乙個數字m,代表待排序數字的個數 其後m行每行乙個資料,大小在1 100000...
問題 B 成績排序
時間限制 1 sec 記憶體限制 128 mb 提交 460 解決 139 狀態 提交 命題人 外部匯入 題目描述 科大學生成績表有學號 數學成績 英語成績與程式設計成績4項。按學號次序給定乙個班的成績,要求根據個人總分高低排序輸出同學們的成績。輸入第一行是整數n,表示班級學生人數 n 40 隨後有...