quickSort(arr
时间: 2024-10-21 09:03:40 浏览: 13
快速排序c.docx. // 调用快速排序算法 quickSort(arr)
快速排序(Quick Sort)是一种常用的高效排序算法,它基于分治策略。在JavaScript中,可以这样描述它的基本过程:
1. **选择基准元素**:通常选择数组的第一个元素作为基准(pivot),但也有些实现会选择随机元素。
2. **分区操作**:将数组分为两部分,一部分所有元素都小于基准,另一部分所有元素都大于等于基准。这个过程通过两个指针从两边开始扫描并交换元素来完成。
3. **递归排序**:对分区后的两部分再分别进行快速排序,直到每个子数组只剩下一个元素或为空。
4. **合并结果**:当所有子数组都被排序后,整个数组也就按照基准划分好顺序了。
下面是简单的JavaScript代码实现快速排序的例子:
```javascript
function quickSort(arr) {
if (arr.length <= 1) return arr; // 如果数组长度为1或0,直接返回
let pivotIndex = Math.floor(arr.length / 2);
let pivot = arr.splice(pivotIndex, 1)[0]; // 选取基准元素并移除
let left = [], right = [];
for (let i = 0; i < arr.length; i++) {
arr[i] < pivot ? left.push(arr[i]) : right.push(arr[i]); // 分区
}
return [...quickSort(left), pivot, ...quickSort(right)]; // 递归排序并合并
}
```
阅读全文