快速排序就是 将 一个无序的数组以某一个特定值分成两个部分 比这个特定值大的数值全部在该特定值的左边 相反比该特定值大的数值全部集中到该特定值的右边
以此类推 在对特定值的两个部分 在分别进行以上的排序 最终得到一个有序的数组
public static void quickSort(int[] array,int right,int left){
int temp;
int pivot = array[0]; //默认选取第一个值为比较值
while(left<right){ //从右边到左边遍历数组 必须从高位到低位比较
while(left<right&&array[right]>=pivot){ //如果没找到 则继续
right--;
}
temp = array[right];
array[right] = array[left];
array[left] = temp; //找到后 交换
while(left<right&&array[left]<=pivot){ // 接着从左边进行遍历
left++;
}
temp = array[right];
array[right] = array[left];
array[left] = temp;
//交换
}
array[left] = pivot ; //将比较值放入相应的位置上
}