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>