全RE!
查看原帖
全RE!
559847
Ferm_Tawn楼主2022/3/6 21:59

RERE 惨不忍吐 请各位大佬改正以下

#include<bits/stdc++.h>
using namespace std;
int A[100005];
void merg(int a[] , int low , int mid , int high){
    int *b = new int[high - low + 1];
    int c = low , d = mid + 1 , k = 1;
    while(c <= mid && d <= high){
        if(a[c] <= a[d]){
            b[k++] = a[c++];
        }
        else{
            b[k++] = a[d++];
        }
    }
    while(c <= mid) b[k++] = a[c++];
    while(d <= high) b[k++] = a[d++];
    for(int i = low , k = 1; i <= high ; i++){
        a[i] = b[k++];
    }
    delete[] b;
}
void mergesort(int a[] , int low , int high){
    if(low < high){
        int mid =(low + high) / 2;
        mergesort(a , low , mid);
        mergesort(a , mid + 1 , high);
        merg(a , low , mid , high);
    }
}
int main(){
    int n;
    cin >> n;
    for(int i = 1 ; i <= n ; i++){
        cin >> A[i];
    }
    mergesort(A , 1 , n);
    for(int i = 1 ; i <= n ; i++){
        cout << A[i] << " ";
    }
    cout << endl;
    return 0;
}
2022/3/6 21:59
加载中...