分治递归,选一个把小于它的都交换到它之前,也就是相当于把自己交换到了应有的位置
#include <bits/stdc++.h>
using namespace std;
const int N = 25;
int a[10] = { 3,5,8,2,7,1,4,6,9,0 };
void quicksort(int l, int r) {
if (l >= r)
return;
int m = l;
for (int i = l + 1; i <= r; i++)
if (a[i] < a[l])
swap(a[++m], a[i]);
swap(a[l], a[m]);
quicksort(l, m - 1);
quicksort(m + 1, r);
}
int main() {
quicksort(0, 9);
for (int i = 0; i < 10; i++)printf("%d ", a[i]);
return 0;
}