我天 是我的快排落后了吗
查看原帖
我天 是我的快排落后了吗
489379
沐雪楼主2021/4/2 14:33
#include<stdio.h>
#include<stdlib.h>
int sort(int *a,int left,int right){
	int i=left,j=right;
	int temp=a[left];
	while(i<j){
		while(i<j&&a[j]>=temp) j--;
		a[i]=a[j];
		while(i<j&&a[i]<=temp) i++;
		a[j]=a[i];
	}
	a[i]=temp;
	return i;
}
void q_sort(int *a,int left,int right){
	int base;
	if(left<right){
		base=sort(a,left,right);
		q_sort(a,left,base-1);
		q_sort(a,base+1,right);
	}
}
int main(void){
	int n,i;
	int a[100010];
	scanf("%d",&n);
	for(i=0;i<n;i++) scanf("%d",&a[i]);
	q_sort(a,0,n-1);
	for(i=0;i<n;i++) printf("%d ",a[i]);
	return 0;
}

为什么后3个全是超时啊啊啊 蒟蒻想不通了求大佬指点

2021/4/2 14:33
加载中...