上一篇:
前端必会算法——选择排序
简单快速排序
快排思路,小的站左边,大的站右边。
代码演示:
var arr = [4, 2, 3, 1, 5, 6];
function quickSort(arr) {
if (arr === null || arr.length === 0) return []; //严谨性判断
// 1. 选队长
var captain = arr[0];
// 2. 小的站队长左边,大的站队长右边
var left = [];
var right = [];
for (var i = 1; i < arr.length; i++) {
if (arr[i] < captain) left.push(arr[i]);
else right.push(arr[i]);
}
left = quickSort(left);
right = quickSort(right);
left.push(captain);
return left.concat(right);
}
console.log(quickSort(arr));
运行结果:
下一篇:
前端必会算法——标准快速排序