JavaScript 快速排序算法
时间: 2023-07-17 08:56:56 浏览: 103
JavaScript中的快速排序算法可以通过递归来实现。下面是一个简单的示例代码:
```javascript
function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
const pivot = arr[0]; // 选择第一个元素作为基准
const left = [];
const right = [];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]); // 小于基准的元素放在左边
} else {
right.push(arr[i]); // 大于等于基准的元素放在右边
}
}
return [...quickSort(left), pivot, ...quickSort(right)]; // 递归排序左右两边的数组,并拼接起来
}
const arr = [5, 3, 8, 4, 2, 1, 7, 6];
const sortedArr = quickSort(arr);
console.log(sortedArr);
```
这段代码会输出 `[1, 2, 3, 4, 5, 6, 7, 8]`,表示已经成功地对数组进行了快速排序。快速排序的时间复杂度为O(nlogn),是一种高效的排序算法。
阅读全文