快速排序

 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>
原文地址:https://www.cnblogs.com/my12-28/p/11738563.html