大佬求助,为什么快排也超时
查看原帖
大佬求助,为什么快排也超时
1512561
ksc66566楼主2024/11/2 17:49
#include <stdio.h>
int a[20];
int n;
void qs(int *arr,int start,int end){
	if(start>=end){
		return;
	}
	int l=start;
	int r=end;
	int pivot=arr[l];
	while(l<r){
		while(l<r&&pivot<arr[r]){
			r--;
		}
		if(pivot>arr[r]){
			arr[l]=arr[r];
			l++;
		}
		while(l<r&&pivot>arr[l]){
			l++;
		}
		if(pivot<arr[l]){
			arr[r]=arr[l];
			r--;
		}
	}
	arr[l]=pivot;
	qs(arr,start,l-1);
	qs(arr,r+1,end);
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	qs(a,1,n);
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
}
2024/11/2 17:49
加载中...