c++快速排序求救!!!,AC两个TLE三个
查看原帖
c++快速排序求救!!!,AC两个TLE三个
759152
yinbe楼主2022/12/3 21:40
#include<iostream>
using namespace std;
int a[100001];
void qSort(int left,int right)
{
	if(left>right)
	{
		return;
	}
	int key=a[left],i=left,j=right;
	while(i<j)
	{
		while(i<j&&a[j]>=key)
		{
			j--;
		}
		a[i]=a[j];
		while(i<j&&a[i]<=key)
		{
			i++;
		}
		a[j]=a[i];
	}
	a[i]=key;
	qSort(left,j-1);
	qSort(j+1,right);
	return;
}
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	qSort(1,n);
	for(int i=1;i<=n;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}
2022/12/3 21:40
加载中...