为什么会超时呢???
查看原帖
为什么会超时呢???
588929
gudakui楼主2021/11/29 19:38
#include <stdio.h>
int getstandard(int arr[], int i, int j)
{
	int key = arr[i];
	while(i < j)
	{
			while(i < j&&arr[j] >= key)
			j--;
			if(i < j)
			arr[i] = arr[j];
			while(i < j&&arr[i] <= key)
			i++;
			if(i < j)
			arr[j] = arr[i];
	}
	arr[i]=key;
	return i;
}
void quicksort(int arr[],int low,int high)
{
	if(low < high)
	{
		int std = getstandard(arr,low,high);
		quicksort(arr,low,std-1);
		quicksort(arr,std+1,high); 
	}
}
int main()
{
    int n,arr[100010];
    scanf("%d",&n);
    for(int i = 0;i < n;i++)
    {
    scanf("%d",&arr[i]);
    }
    quicksort(arr,0,n-1);
    for(int i = 0;i < n;i++)
    {
    printf("%d ",arr[i]);
    }
    return 0;	
}
2021/11/29 19:38
加载中...