写一段js快速排序代码
时间: 2023-10-14 19:22:06 浏览: 33
好的,以下是一段基于快速排序算法的 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) {
continue;
}
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return [...quickSort(left), pivot, ...quickSort(right)];
}
// 示例
const arr = [5, 8, 1, 3, 7, 9, 2];
console.log(quickSort(arr)); // [1, 2, 3, 5, 7, 8, 9]
```
这段代码使用了快速排序算法来对一个数组进行排序。其中,我们首先选择一个“基准”值,然后将数组分为两个部分:所有小于基准值的元素和所有大于等于基准值的元素。然后,递归地对分出来的两个数组进行快速排序,最后将排好序的两个数组和基准值合并起来即可。