快速排序

#include<iostream>
#include<algorithm>
using namespace std;
#define ull unsigned long long

int a[1000], n;
void quicksort(int l,int r) {
	if (l >= r) return;
	int p = a[l];
	int i = l, j = r - 1;
	while(i < j) {
		while (i < j && a[j] >= p) {
			j--;
		}
		if (i < j) {
			a[i] = a[j];
			i++;
		}
		while (i < j && a[i] < p) {
			i++;
		}
		if (i < j) {
			a[j] = a[i];
			j--;
		}
	}
	a[i] = p;
	quicksort(l, i);
	quicksort(i+1, r);
}
int main() {
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	quicksort(0, n);
	for (int i = 0; i < n; i++) {
		cout << a[i] << " ";
	}
	
	return 0;
}

posted @ 2021-05-09 19:29  MmmelodyyY  阅读(35)  评论(0)    收藏  举报