Qsort求助
查看原帖
Qsort求助
576807
URbit楼主2022/5/21 16:19
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
int A[100100];

void Qsort(int l, int r)
{
	int mid = (l + r) / 2;
	int i = l, j = r + 1;
	if (A[r] > A[mid]) swap(A[r], A[mid]);
	if (A[l] > A[mid]) swap(A[l], A[mid]);
	if (A[l] > A[r]) swap(A[l], A[r]);
	while (i < j)
	{
		i++; while (A[i] < A[l]) i++;
		j--; while (A[j] > A[l]) j--;
		if (i < j) swap(A[i], A[j]);
	}
	swap(A[j], A[l]);

	Qsort(l, j - 1);
	Qsort(r, j + 1);
}
int main()
{
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) cin >> A[i];
	cout << A[1];
	for (int i = 2; i <= n; i++) cout << " " << A[i];
	return 0;
}

求助,不知道为什么Qsort的前四个点有问题

2022/5/21 16:19
加载中...