参考:
http://www.ruanyifeng.com/blog/2011/04/quicksort_in_javascript.html(阮一峰)
利用分治法实现快速排序:
1.在数组中随机选择一个元素x;
2.所有小于x的移到x的左边,所有大于x的移到x的右边。(分区)结束后x所在的位置就是最终排序结束后它的位置。
3.对x左右两边的子集不断重复前两步,直到所有子集只剩下一个元素为止。
下面的解法引入两个辅助数组,分别记录选定值的右边元素集合和左边元素集合。
var quickSort = function(arr){
if(arr.length<=1){
return arr;
}
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex,1)[0];
var left = [];
var right &#