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>