RT, 难道sort用多了我真的不会快排吗
记录
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <ctime>
const int N = 100005;
int n, a[N];
void sort(int l, int r) {
if(l >= r) return;
int m = rand() % (r-l+1) + l; std::swap(a[m], a[r]);
int x = a[r], i = l-1;
for(int j = l; j < r; j++)
if(a[j] <= x) std::swap(a[++i], a[j]);
std::swap(a[++i], a[r]);
sort(l, i-1); sort(i+1, r);
}
signed main() {
scanf("%d", &n);
srand((int)time(0));
for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
sort(1, n);
for(int i = 1; i <= n; i++) printf("%d ", a[i]);
return 0;
}