快速排序,是选择一个数作为基数(通常是中间数),然后把比他小的数放左边,比他大的数放右边,再递归调用方法处理左右两侧的数据;直至传入的数组只有一个元素为止
function quickSort(arr) {
var len=arr.length;
if (len <= 1) {
return arr;
}
var pivotIndex = Math.floor(len / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = [];
var right = [];
for (var i = 0; i < len-1; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
};