我是靠谱客的博主 谨慎大白,这篇文章主要介绍JS特色快排实现,现在分享给大家,希望可以做个参考。

传统的快排都是在数组中,随机选择数组中一个元素(有的会直接选中间),然后从左边寻找第一个比它大的,从右边寻找第一个比它小的,两者互换位置。但是JS的灵活性提供了另一种方法,这种方法更好理解。

function quickSort(arr) {
    var length = arr.length;
    if(length <= 1) {
        return arr;
    }
    var mid = parseInt(length / 2);
    var lower = [], equal = [], greater = [];
    for(var i = 0; i < length; i++) {
        if(arr[i] < arr[mid]) {
            lower.push(arr[i]);
        } else if(arr[i] === arr[mid]) {
            equal.push(arr[i]);
        } else {
            greater.push(arr[i]);
        }
    }
    return quickSort(lower).concat(equal).concat(quickSort(greater))
}

最后

以上就是谨慎大白最近收集整理的关于JS特色快排实现的全部内容,更多相关JS特色快排实现内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(141)

评论列表共有 0 条评论

立即
投稿
返回
顶部