快排后面三个tle,help me
查看原帖
快排后面三个tle,help me
1229346
yangyoulin楼主2023/12/18 15:05

#include "stdio.h"

unsigned long long a[100010],n,left,right;

void quicksort(unsigned long long left,unsigned long long right)

{

unsigned long long i,j,t,key;
if(left>=right) return;
i=left;
j=right;
key=a[i];
while(i<j)
{
	while(i<j&&a[j]>=key) j--;
	if(i<j) a[i]=a[j];
	while(i<j&&a[i]<=key) i++;
	if(i<j) a[j]=a[i];
	
	if(i>=j) a[i]=key;	
}

quicksort(left,j-1);
quicksort(j+1,right);

}

int main()

{ unsigned long long i,j;

scanf("%llu",&n);

for(i=1;i<=n;i++)

scanf("%llu",a+i);

	quicksort(1,n);
	

  	for(i=1;i<=n;i++)

if(i==n)

printf("%llu\n",a[i]);

else printf("%llu ",a[i]); }

2023/12/18 15:05
加载中...