Acwing 787 歸併排序

2021-10-09 11:54:01 字數 747 閱讀 5891

給定你乙個長度為n的整數數列。

請你使用歸併排序對這個數列按照從小到大進行排序。

並將排好序的數列按順序輸出。

輸入格式:

輸入共兩行,第一行包含整數 n。

第二行包含 n 個整數(所有整數均在1~109109範圍內),表示整個數列。

輸出格式:

輸出共一行,包含 n 個整數,表示排好序的數列。

資料範圍

1≤n≤1000001≤n≤100000

輸入樣例:

5

3 1 2 4 5

輸出樣例:

1 2 3 4 5
#includeusing namespace std;

const int n=1e6+10; int n;

int q[n];int test1[n];

void merge_sort(int q,int l,int r)

while(i<=mid) test1[k++]=q[i++];

while(j<=r) test1[k++]=q[j++];

for(int i=l,k=0;i<=r;i++,k++) q[i]=test1[k];

}int main()

{ cin>>n;

for(int i=0;i注:看不懂題解的可以私聊博主,因為最近會大量發,所以沒有詳細題解了。

Acwing 787 歸併排序

歸併排序步驟 1.確定分界點 按照中間位置分為兩段 2.遞迴處理兩段區間 3.合併兩段處理後有序區間 歸併 include using namespace std const int maxn 100005 int value maxn int temp maxn 臨時儲存合併陣列 歸併排序 voi...

歸併排序模板 ACwing 787

歸併排序其實也是分治的思想 首先歸併排序跟快排一樣同樣需要考慮分界點 歸併排序的分界點都是取中間值 其次歸併排序需要遞迴排序左邊和右邊 最後一部也是最難的一部需要將分開的歸併排序合二為一 includeusing namespace std intn const int n 100010 int a...

787 歸併排序

題目描述 給定你乙個長度為n的整數數列。請你使用歸併排序對這個數列按照從小到大進行排序。並將排好序的數列按順序輸出。輸入格式 輸入共兩行,第一行包含整數 n。第二行包含 n 個整數 所有整數均在1 109範圍內 表示整個數列。輸出格式 輸出共一行,包含 n 個整數,表示排好序的數列。資料範圍 1 n...