java吧 关注:1,269,176贴子:12,773,929
  • 1回复贴,共1

看了内热你得代码 有点蒙逼,求解毒下

只看楼主收藏回复

function QuickSort(arr, func) {
if (!arr || !arr.length) return [];------- --------- -------- -------- --这是什么?
if (arr.length === 1) return arr;
var pivot = arr[0];
var smallSet = []; -------------- -------- -------- -------- --这是什么赋值?
var bigSet = [];
for (var i = 1; i < arr.length; i++) {
if (func(arr[i], pivot) < 0) {------ -------- -------- -------- --func(arr[i], pivot) < 0这是怎么算得?
smallSet.push(arr[i]);
} else {
bigSet.push(arr[i]);
}
}
return QuickSort(smallSet, func).concat([pivot]).concat(QuickSort(bigSet, func));
}
谢谢谢谢


1楼2016-12-23 23:07回复
    function QuickSort(arr, func) {
    if (!arr || !arr.length) return [];//这是一个安全检查
    if (arr.length === 1) return arr; //同理
    var pivot = arr[0];
    var smallSet = []; -//声明变量
    var bigSet = [];
    for (var i = 1; i < arr.length; i++) {
    if (func(arr[i], pivot) < 0) { // 这是检查中间值pivot
    smallSet.push(arr[i]);
    } else {
    bigSet.push(arr[i]);
    }
    }
    return QuickSort(smallSet, func).concat([pivot]).concat(QuickSort(bigSet, func)); //递归
    }


    2楼2024-01-01 23:29
    回复