求助快排超时
查看原帖
求助快排超时
772828
lliou楼主2023/5/13 18:12

快排超时

#include<iostream>
using namespace std;
int a[10001],n,l,r;
void qs(int *a,int l,int r);
int main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	qs(a,0,n-1);
	for(int i=0;i<n;i++){
		cout<<a[i]<<" ";
	}
}
void qs(int* a,int l,int r){
	if(l<r){
		int i,j,x;
		i=l;
		j=r;
		x=a[i];
		while(i<j){
			while(i<j&&a[j]>x) j--;
			if(i<j) a[i]=a[j];
			while(i<j&&a[i]<x) i++;
			if(i<j) a[j]=a[i];
		}
		a[i]=x;
		qs(a,l,i-1);
		qs(a,i+1,r);
	}
}

开始O2优化后,仍然超时4个

2023/5/13 18:12
加载中...