每次排序的时候 设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全 部放到基准点的右边。这是基于一 种叫做“二分”的思想。
代码:void quicksort(int *left,int *right)
{
int i, j, t, temp;
int len = right - left - 1;
if (len < 0)return;
temp = left[0];
i = 0; j = len;
while (i != j)
{
while (left[j] >= temp && i < j)j--;
while (left[i] <= temp && i < j)i++;
if (i < j)
{
t = left[j];
left[j] = left[i];
left[i] = t;
}
}
left[0] = left[i];
left[i] = temp;
quicksort(left, left + i);
quicksort(left + i + 1, left+len+1);
}



