JS 快速排序

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <script>
 7        function quickSort(arr) {
 8            if (arr.length <= 1) {
 9                return arr;
10            }
11 
12            var midNum = Math.floor(arr.length/2);
13            var midVal = arr.splice(midNum, 1); // caution
14            var left = [];
15            var right = [];
16            for (var i=0; i<arr.length; i++) {
17                if (arr[i] < midVal) {
18                    left.push(arr[i]);
19                } else {
20                    right.push(arr[i]);
21                }
22            }
23            return quickSort(left).concat([midVal], quickSort(right));
24        }
25         alert(quickSort([2, 23, 45, 12, 90]));
26     </script>
27 </head>
28 <body>
29 
30 </body>
31 </html>

 

posted on 2015-10-11 00:34  aoun  阅读(271)  评论(0)    收藏  举报