简单实现快速排序
一、快速排序思路
1.选定一个基准元素,将数组分割成两个子数组,其中一个子数组的值小于基准元素,
另外一个子数组值大于等于基准元素。
2.对子数组进行递归调用实现方法一
二、程序实现
function quick(arr) {
if (arr.length <= 1) {
return arr;
}
var left = [],
right = [],
temp = arr.splice(0, 1); //基准元素需要在原数组中删除,并用temp保存
for (var i = 0; i < arr.length; i++) {
if (arr[i] > temp) {
right.push(arr[i]);
} else {
left.push(arr[i]);
}
}
return quick(left).concat(temp, quick(right)); //递归调用
}

浙公网安备 33010602011771号