快速排序40分
查看原帖
快速排序40分
1054137
EkSulfur楼主2023/9/22 16:00

求助大佬

#include <iostream>
using namespace std;
int a[100005];

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

int main() {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	qsort(1, n);
	for (int i = 1; i <= n; i++)
		cout << a[i] << ' ';
    cout<<endl;
	return 0;
}
2023/9/22 16:00
加载中...