超时了,大佬们给看看是什么原因qwq
查看原帖
超时了,大佬们给看看是什么原因qwq
569087
passing_dragon楼主2021/10/15 01:20
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
void quick(int* a,int begin,int end)
{
	if(begin<end){
		int temp = a[begin];
	    int i = begin ,j = end;
	    while(i < j)
	    {
		    while(i < j&&temp <= a[j])
		    j--;
		    a[i] = a[j];
		    while(i < j&&temp >= a[i])
		    i++;
		    a[j] = a[i]; 
	    }
	    a[i] = temp;
	    quick(a,begin,i - 1);
	    quick(a,i + 1,end);
	}
    else return;
}
int main()
{
	int n = 0;
	scanf("%d",&n);
	int* a;
	a = (int* )malloc(sizeof(int)*(n + 5));
	for(int i = 0; i < n; i++)
	{
		scanf("%d",&a[i]);
	}
	quick(a,0,n - 1);
	for(int i = 0; i < n; i++)
	{
		if(i != 0)
		{
			printf(" %d",a[i]);
		}
		else
		{
			printf("%d",a[i]);
		}
	}
	cout<<endl;
 } 
2021/10/15 01:20
加载中...