快速排序,不知道为什么全tle
查看原帖
快速排序,不知道为什么全tle
728458
lht20090314楼主2024/7/27 21:58
#include <cstdio>
using namespace std;
int a[100010];

void qsort(int a[], int l, int r)
{
	int i = l, j = r, flag = (l + r) / 2, tmp;
	do
	{
		while (a[i] < flag) i++;
		while (a[j] > flag) j--;
		if (i <= j)
		{
			tmp = a[i];
			a[i] = a[j];
			a[j] = tmp;
			i++, j--;
		}
	} while (i <= j);
	if (l < j) qsort(a, l, j);
	if (i < r) qsort(a, i, r);
}

int main()
{
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		scanf("%d", &a[i]);
	}
	qsort(a, 1, n);
	for (int i = 1; i <= n; i++)
	{
		printf("%d ", a[i]);
	}
	
	return 0;
}
2024/7/27 21:58
加载中...