JS实现快速排序
快速排序,通过选择一个基准值将数据分割成独立的左右两部分,其中左侧数据比基准值都小,右侧比基准值都大,然后对左右两个数据集采用前面的方法不断重复进行,直到排列完成。
JS实现快速排序:
function quickSort(arr) {
var len = arr.length;
if (0 == len) {
return [];
}
var lesser = [],
greater = [],
pivot = arr[0];
for (var i = 1; i < len; ++i) {
if (arr[i] < pivot) {
lesser.push(arr[i]);
} else {
greater.push(arr[i]);
}
}
return quickSort(lesser).concat([pivot], quickSort(greater));
}
利用递归很快实现了快速排序,在chrome控制台下的运行效果如下图。