var arr = [4, 5,1, 6, 9, 3, 2, 8, 7];
function swap(arr, a, b) {
var temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
function quickSort2(arr, begin, end) {
if (begin >= end - 1) return;
var left = begin;
var right = end;
do { // 只要left比right小就继续
do left++; // 当left:索引 小于 right:索引 并且 当前arr[left] : 值 小于 4 ,left就++
while (left < right && arr[left] < arr[begin]); // left : 0; right : length; arr[left] : ?; arr[begin] : arr[0]
do right--; // 当右边的比第一个小的时候right停止--
while (right > left && arr[right] > arr[begin]);
if (left < right) swap(arr, left, right)
} while (left < right); // 直到left 比 right大停止循环
var swapPoint = left == right ? right - 1 : right;
swap(arr, begin, swapPoint);
// console.log(arr) 最后验证自己的排序是否正确
quickSort2(arr, begin, swapPoint);
quickSort2(arr, swapPoint + 1, end);
}
function quickSort(arr) {
quickSort2(arr, 0, arr.length);
}
quickSort(arr);
console.log(arr) // [ 1, 2, 3, 4, 6, 7, 8, 9 ]
落过的 帅哥美女 如果我哪里说的不全,或者哪里解释错了,希望可以说一下,我马上改,
结束了画个重点吧
重点:走过路过的帅哥美女,点个赞,程序员不嫖程序员┗|`O′|┛ 散会