码迷,mamicode.com
首页 > 编程语言 > 详细

js数组快速排序

时间:2017-11-24 21:29:44      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:col   mys   div   nbsp   return   for   floor   索引   获取   

        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数组快速排序

标签:col   mys   div   nbsp   return   for   floor   索引   获取   

原文地址:http://www.cnblogs.com/samsara-yx/p/7892235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!