用javascript 写一段快速排序
时间: 2023-02-11 08:20:30 浏览: 130
基于javascript实现的快速排序
好的,以下是 JavaScript 快速排序的代码:
```
function quickSort(arr) {
if (arr.length <= 1) return arr;
let pivotIndex = Math.floor(arr.length / 2);
let pivot = arr[pivotIndex];
let left = [];
let right = [];
for (let i = 0; i < arr.length; i++) {
if (i !== pivotIndex) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
}
return [...quickSort(left), pivot, ...quickSort(right)];
}
```
快速排序的基本思路是:
1. 选取数组的第一个元素作为基准值(也可以选取数组的中间或最后一个元素)。
2. 创建两个空数组,分别为左数组和右数组。
3. 遍历数组,将小于基准值的元素加入左数组,大于基准值的元素加入右数组。
4. 将左数组和右数组再分别使用快速排序,直到数组的长度为 1。
5. 最后将左数组、基准值和右数组合并,即可得到有序的数组。
希望这对你有帮助。
阅读全文