search.png
关于我
menu.png
js 实现快速排序 转载
function quickSort(arr){
    //如果数组<=1,则直接返回
    if(arr.length <= 1) return arr
    var pivotIndex = Math.floor(arr.length / 2)
    //找基准,并把基准从原数组删除
    var pivot = arr.splice(pivotIndex, 1)[0]
    //定义左右数组
    var left = [], right = []
    //比基准小的放在left,比基准大的放在right
    for(var i = 0; i < arr.length; i++){
        if(arr[i] <= pivot){
            left.push(arr[i])
        }else{
            right.push(arr[i])
        }
    }
    //递归
    return quickSort(left).concat([pivot],quickSort(right)) // 链接多个数组到 left 从小到大
    // return quickSort(right).concat([pivot],quickSort(left)) // 链接多个数组到 right 从大到小
}

版权声明

转载 本文转载自

所有权利均归原文作者本人所有.侵删

发布时间:2018年10月18日 14:49:10

评论区#

还没有评论哦,期待您的评论!

关闭特效