js数组快速排序

Posted Samsara315

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组快速排序相关的知识,希望对你有一定的参考价值。

        var arr = [1, 2, 5, 6, 3, 1, 4];
        function mySort(arr) {
            if (arr.length <= 1) {
                return arr;
            }
            // 获取中间值的索引
            var len = Math.floor(arr.length / 2);
            // 截取中间值
            var middle = arr.splice(len, 1);
            var left = [];
            var right = [];
            for (var i = 0; i < arr.length; i++) {
                if (middle > arr[i]) {
                    left.push(arr[i])
                } else {
                    right.push(arr[i])
                }
            }
            return mySort(left).concat(middle, mySort(right))
        }
        console.log(mySort(arr))//[ 1, 1, 2, 3, 4, 5, 6 ]

 

以上是关于js数组快速排序的主要内容,如果未能解决你的问题,请参考以下文章

JS排序之快速排序

js数组快速排序/去重

结构-行为-样式-Js排序算法之 快速排序

13用JS实现快速排序

js数组冒泡排序,快速排序的原理以及实现

js排序算法基础--快速排序