再次挑选一个数 , 进行分割 ;
递归进行分割操作 , 直到数组中所有元素排序完成 ;
分割数组时 , 分割条件是小于等于 / 大于等于的原因 :
分割时 , 挑选的数 a , 如果数组元素为 a..., 则该元素即可以在左边 , 又可以在右边 ;
如果数组中除几个数之外 , 其它全都是一样的数 , 如 [1,1,1,1,1,1,1,2] , 挑选数字时 , 大概率选中 1 , 此时如果要求左半部分严格小于...和 end 索引的值 , 如果选取开始/结束值 , 作为分割点 , 假如该数组是按照升序或降序排列 , 可能出现极端情况 ;
指针限制条件 , 分割遍历时的两个指针的条件是 left 如果遇到一个元素不属于左边, 则退出循环
left++;
}
// 找到一个不属于右边部分的元素, 将其交换到左边...while (left array[right] > pivot) {
// 如果遇到一个元素不属于右边, 则退出循环