快速排序:
假设有n个数
à大 ß小
例如:3 4 1 8 2
i j
设一个基准数temp=a[0];
i从a[0]开始,j从a[n-1]开始;
从j先向左移动,只要找到比temp小的数,就停下;
然后i向右移动,只要遇到比temp大的数,就停下;
就交换a[i]和a[j]的位置;
3 2 1 8 4
i j
然后重复以上步骤;
3 1 2 8 4
i j
2 1 3 8 4
ij
然后i移动,当i==j时,把a[i]和数组头交换;
(2 1) 3 (8 4)
i j i j
temp=2 ij temp=8
a[j]<a[i],则交换位置
(1 2) 3 (4 8)
i j i j
就是这么简单!