時限:1000ms 記憶體限制:10000k 總時限:3000ms
描述給定乙個數列,用歸併排序演算法把它排成公升序。
輸入第一行是乙個整數n(n不大於10000),表示要排序的數的個數;
下面一行是用空格隔開的n個整數。
輸出輸出排序後的數列,每個數字佔一行。
輸入樣例
53 2 1 4 5
輸出樣例12
345
#include
using
namespace std;
int n;
int a[
10000];
int tmp[
10000];
void
mergesort
(int a,
int st,
int ed)
;int
main()
mergesort
(a,0
,n-1);
for(
int i=
0; i)return0;
}void
mergesort
(int a,
int st,
int ed)
else
}while
(i<=mid)
while
(j<=ed)
for(k=st; k<=ed; k++)}
}
遞迴分治篇 歸併排序NOJ1002
時限 1000ms 記憶體限制 10000k 總時限 3000ms 給定乙個數列,用歸併排序演算法把它排成公升序。第一行是乙個整數n n不大於10000 表示要排序的數的個數 下面一行是用空格隔開的n個整數。輸出排序後的數列,每個數字佔一行。二路歸併 自底向上 自頂向下 為什麼覺得自頂向下就是比自底...
演算法實驗室 12 歸併排序
思想其實很簡單,首先就是乙個二分的思想,分而治之 而要完成乙個二分的遞迴結構還是非常簡單的 static void dcfunc int arr,int begin,int end int mid end begin 2 中間位 int midpos mid begin 前段是從begin midp...
修煉演算法內功 歸併排序(一)
內容 歸併排序演算法思想 歸併排序演算法的實現 歸併排序演算法的優化 1 歸併排序演算法思想 對於給定的一串陣列如 5 3 7 2 6 4 8 1 我們可以進行如下幾個步驟 將陣列從中間分成兩組陣列 5 3 7 2和6 4 8 1分別排序 同樣,我們可以繼續拆分這兩個陣列為5 3和7 2以及6 4和...