2025-06-22 17:46:50
发布于:上海
#include<iostream>
using namespace std;
int n , a[1010] , temp[1010];
void m(int l , int r){
if(l==r) return;
int mid=(l+r)/2;
m(l,mid);
m(mid+1,r);
int i = l, j = mid + 1, k = l;
while(i <=mid && j <= r){
if(a[i] <= a[j]) temp[k++] = a[i++];
else temp[k++] = a[j++];
}
while(i <= mid) temp[k++] = a[i++];
while(j <= r) temp[k++] = a[j++];
for(int i=l;i<=r;i++) a[i]=temp[i];
}
int main(){
cin >> n;
for(int i=1;i<=n;i++) cin>>a[i];
m(1,n);
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}
这里空空如也
有帮助,赞一个