题目描述
模板题:快排
C++代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6;
void quick_sort(int a[], int l, int r){
if(l >= r)
return;
int i = l - 1, j = r + 1, x = a[l + r >> 1];
while(i < j){
do i++; while(a[i] < x);
do j--; while(a[j] > x);
if(i < j) swap(a[i], a[j]);
}
quick_sort(a, l, j);
quick_sort(a, j + 1, r);
}
int main(){
int arr[N];
int n;
cin >> n;
for(int i = 0; i < n; i++)
cin >> arr[i];
quick_sort(arr, 0, n - 1);
for(int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << "\n";
return 0;
}