排序
2025-05-07 20:13:52
发布于:广东
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,a[105],b[105];
void m_sort(int l,int r){
if(l>=r) return ;
int mid=(l+r)/2;
// cout<<"[";
// for(int i=l;i<=mid;i++){
// cout<<a[i]<<" ";
// }
// cout<<"],[";
// for(int i=mid+1;i<=r;i++){
// cout<<a[i]<<" ";
// }
// cout<<"]"<<endl;
m_sort(l,mid);
m_sort(mid+1,r);
int i=l,j=mid+1,k=l;
while(i<=mid && j<=r){
if(a[i]<=a[j]){
b[k++]=a[i++];
}
else{
b[k++]=a[j++];
}
}
while(i<=mid){
b[k++]=a[i++];
}
while(j<=r){
b[k++]=a[j++];
}
for(int i=l;i<=r;i++){
a[i]=b[i];
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
cout<<endl;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
m_sort(1,n);
return 0;
}
这里空空如也
有帮助,赞一个