快速排序
Skyzhou666 · · 算法·理论
快速排序模板
#include <iostream>
#define MAXN 5000001
using namespace std;
int a[MAXN], n;
void fsort(int l, int r)
{
if(l >= r) return;
int i = l, j = r;
while(i < j)
{
while(a[j] >= a[l] && i < j) j--;
while(a[i] <= a[l] && i < j) i++;
swap(a[i], a[j]);
}
swap(a[l], a[i]);
fsort(l, i-1);
fsort(i+1, r);
}
int main()
{
cin >> n;
for(int x = 0; x < n; x++) cin >> a[x];
fsort(0, n-1);
for(int x = 0; x < n; x++) cout << a[x] << " ";
cout << endl;
return 0;
}