javascript 快速排序
时间: 2023-03-04 11:35:56 浏览: 18
js快速排序
JavaScript 中的快速排序可以使用递归算法实现,具体步骤如下:
1. 选择一个基准值(pivot),一般选择第一个或者最后一个元素。
2. 将数组中小于等于基准值的元素放在基准值的左侧,大于基准值的元素放在右侧。
3. 对于左右两侧的子数组分别重复步骤 1 和步骤 2,直到每个子数组只剩下一个元素或者为空。
下面是一段 JavaScript 代码实现快速排序:
```javascript
function quickSort(array) {
if (array.length <= 1) {
return array;
}
const pivot = array[0];
const left = [];
const right = [];
for (let i = 1; i < array.length; i++) {
if (array[i] < pivot) {
left.push(array[i]);
} else {
right.push(array[i]);
}
}
return [...quickSort(left), pivot, ...quickSort(right)];
}
```
这段代码首先判断数组的长度是否小于等于 1,如果是,则直接返回原数组。否则,选取第一个元素作为基准值,遍历数组,将小于基准值的元素放入 left 数组,大于等于基准值的元素放入 right 数组。最后,递归调用 quickSort 函数,将左侧子数组和右侧子数组进行排序,然后将左侧排序后的结果、基准值、右侧排序后的结果合并起来返回。
阅读全文