快速排序(Quick Sort)是一种高效的排序算法,采用分治法策略。以下是对快速排序算法的详细解释:
适用于大规模数据的排序,特别是当数据随机分布时效果最佳。
function quickSort(arr, low, high) {
if (low < high) {
let pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
function partition(arr, low, high) {
let pivot = arr[high];
let i = low - 1;
for (let j = low; j < high; j++) {
if (arr[j] < pivot) {
i++;
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
[arr[i + 1], arr[high]] = [arr[high], arr[i + 1]];
return i + 1;
}
// 使用示例
let arr = [10, 7, 8, 9, 1, 5];
quickSort(arr, 0, arr.length - 1);
console.log("排序后的数组:", arr);
快速排序是一种高效的排序算法,适用于大多数情况。通过合理选择基准和优化递归过程,可以有效避免最坏情况的发生,提高算法的稳定性和效率。
领取专属 10元无门槛券
手把手带您无忧上云