堆排序与快速排序的区别及js实现


1,快速排序
核心要点:1,选基础参考点;2,递归

function quickSort(arr){
    if(arr.length <= 1){
        return arr;
    }
    var index = Math.floor(arr.length/2);
    var targetValue = arr.splice(arr[index], 1);
    
    var left = [],
        right = [];

    for(var i = 0; i < arr.length; i++){
        if(arr[i] < targetValue){
            left.push(arr[i]);
        }else{
            right.push(arr[i]);
        }
    }
    return quickSort(left).concat(targetValue, quickSort(right));
}








堆排序


内容


特点

你可能感兴趣的:(快速排序)