- zhuxiangjia 的博客
归并
- @ 2026-11-5 19:32:03
#include<bits/stdc++.h>
using namespace std;
int n,m,p[1000],j,a[1000];
void e(int l,int mid,int r){
int i=l;j=mid+1,n=l;
while(i<=mid&&j<=r)
if(a[i]>=a[j])p[n++]=a[i++];
else p[n++]=a[j++];
while(i<=mid)p[n++]=a[i++];
while(j<=r) p[n++]=a[j++];
for(int q=l;q<=r;q++)a[q]=p[q];
}
void so(int l,int r){
if(l>=r){return;
} int mid=(l+r)/2;
so(l,mid);
so(mid+1,r);
e(l,mid,r);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
so(1,n);
for(int i=1;i<n;i++){
cout<<a[i]<<' ';
}
}