#46380: C++ Merge Sort !


hchen1029@icloud.com (陳毓)

學校 : 不指定學校
編號 : 286800
來源 : [140.131.115.155]
最後登入時間 :
2025-10-04 19:50:59

#include <bits/stdc++.h>
#define io ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;


void MerSort(vector<int> &a, int l,int r) {
    if (r-l==1) return ;

    int m = (l+r)/2;

    MerSort(a,l,m);
    MerSort(a,m,r);

    int i{l};
    int j{m};

    vector<int> curr;

    while (i<m || j<r){
        if (i<m && (j==r || a[i]<= a[j])) curr.push_back(a[i++]);
        else curr.push_back(a[j++]);
    }
    copy(curr.begin(),curr.end(),a.begin()+l);
}

int main() {
    int t;
    cin >> t;

    vector<int> li(t);
    for (int i{0};i<t;i++)cin >> li[i];
    MerSort(li,0,t);
    for (auto i:li) cout << i << " ";
}