帮我写一段JavaScript快速排序
时间: 2023-03-13 22:19:24 浏览: 105
我可以提供一段简单的JavaScript快速排序示例代码:function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
let pivotIndex = Math.floor(arr.length / 2);
let pivot = arr.splice(pivotIndex, 1)[0];
let left = [];
let right = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
} return quickSort(left).concat([pivot], quickSort(right));
}
相关问题
用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. 最后将左数组、基准值和右数组合并,即可得到有序的数组。
希望这对你有帮助。
JavaScript写一段快速排序代码
好的,以下是JavaScript实现的快速排序代码:
```javascript
function quickSort(arr) {
if (arr.length <= 1) return arr;
const pivotIndex = Math.floor(arr.length / 2);
const pivot = arr.splice(pivotIndex, 1)[0];
const left = [];
const right = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
}
const arr = [2, 8, 4, 1, 6, 9, 3, 5, 7];
console.log(quickSort(arr));
```
希望对你有所帮助!现在请您问下一个问题。
阅读全文