MLE求助
查看原帖
MLE求助
1118703
xiuman楼主2023/10/29 00:11
#include<bits/stdc++.h>
using namespace std;
int b[60005],c[1000],d[60005];
void quicksort(int l,int r,int a[]){
	int sum,bj=0,cj=0,dj=0;
	if(l>=r)return;
	sum=(l+r)/2;
	for(int i=l;i<=r;i++){
		if(a[i]<a[sum])b[++bj]=a[i];
		if(a[i]==a[sum])c[++cj]=a[i];
		if(a[i]>a[sum])d[++dj]=a[i];
	}
	for(int i=l;i<=bj;i++)a[i]=b[i];
	for(int i=l;i<=cj;i++)a[i+bj]=c[i];
	for(int i=l;i<=dj;i++)a[i+bj+cj]=d[i];
	quicksort(1,bj,a);
	quicksort(bj+cj+1,r,a);
}
int main(){
	int n,a[100005];
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	quicksort(1,n,a);
	for(int i=1;i<=n;i++)cout<<a[i]<<" ";
}
2023/10/29 00:11
加载中...