40分求助
查看原帖
40分求助
322388
chensiyu33楼主2021/10/10 15:31
#include<bits/stdc++.h>
using namespace std;
int a[100010],n;
int get_mid(int b[],int left,int right){
	int pivot=b[left];
	while(left<right){
		while(b[right]>=pivot&&left<right) right--;
		b[left]=b[right];
		while(b[left]<=pivot&&left<right) left++;
		b[right]=b[left];
	}
	b[left]=pivot;
	return left;
}
void quick_sort(int b[],int left,int right){
	if(left<right){
		int mid=get_mid(b,left,right);
		quick_sort(b,left,mid-1);
		quick_sort(b,mid+1,right); 
	}
}
void show(){
	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];
	quick_sort(a,1,n);
	show();
	return 0;
} 
1,2对了,但是3,4,5运行超时了……
2021/10/10 15:31
加载中...