AcWing
785. 快速排序
模板
#include <bits/stdc++.h>
using namespace std;
int n;
const int N = 100010;
int a[N];
void quicksort(int l, int r){
if(l >= r) return;
int i = l - 1, j = r + 1;
int mid = a[l + r >> 1];
while(i < j){
do i ++; while(a[i] < mid);
do j --; while(a[j] > mid);
if(i < j) swap(a[i], a[j]);
}
quicksort(l, j);
quicksort(j + 1, r);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for(int i = 0; i <= n - 1; i ++) cin >> a[i];
quicksort(0, n - 1);
for(int i = 0; i <= n - 1; i ++) cout << a[i] << ' ';
cout << '\n';
}