归并排序
2024-05-12 12:11:02
发布于:广东
帮搞了一下代码块,美观了一点
原来的
#include <bits/stdc++.h>
using namespace std;
int sum[100004],a[100004];
void D(int l,int r){
if(l==r){
return;
}
int mid=(l+r)/2;
D(l,mid);
D(mid+1,r);
int x=l,y=mid+1,k=l;
while(x<=mid&&y<=r){
if(sum[x]<=sum[y]){
a[k]=sum[x];
k++,x++;
}else{
a[k]=sum[y];
k++,y++;
}
}
while(x<=mid){
a[k]=sum[x];
k++,x++;
}
while(y<=r){
a[k]=sum[y];
k++,y++;
}
for(int i=l;i<=r;i++){
sum[i]=a[i];
}
}
int main(){
int n;
cin >>n;
for(int i=0;i<n;i++){
cin >> sum[i];
}
D(0,n-1);
for(int i=0;i<n;i++){
cout << sum[i]<<' ';
}
return 0;
}
全部评论 1
6
2024-05-12 来自 广东
0
有帮助,赞一个