我是靠谱客的博主 谨慎大白,最近开发中收集的这篇文章主要介绍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特色快排实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部