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

快速排序

时间:2019-10-25 16:19:46      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:return   ret   返回   index   ice   ack   ++   dex   比较   

 1 <script>
 2    //采用二分法,取出中间数,数组每次和中间数比较,小的放左边,大的放右边
 3    var arr = [3, 1, 4, 6, 5, 7, 2,0];
 4    function quickSort(arr) {
 5        if(arr.length == 0) {
 6            return []; // 返回空数组
 7        }
 8        var cIndex = Math.floor(arr.length / 2);
 9 
10        var c = arr.splice(cIndex, 1);//把基准数从arr中移除11 
12        var l = [];
13        var r = [];
14        for (var i = 0; i < arr.length; i++) {
15            if(arr[i] < c) {
16                l.push(arr[i]);
17            } else {
18                r.push(arr[i]);
19            }
20        }
21        return quickSort(l).concat(c, quickSort(r));
22    }
23    console.log(quickSort(arr));
24 
25 
26 </script>

 

快速排序

标签:return   ret   返回   index   ice   ack   ++   dex   比较   

原文地址:https://www.cnblogs.com/my12-28/p/11738563.html

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