pivot
比较
交换
已完成
点击“开始排序”,观察快速排序的分区和节点交换过程。
算法代码同步高亮
function quickSort(arr, left, right) {
if (left >= right) return;
const pivot = arr[right];
let i = left - 1;
for (let j = left; j < right; j++) {
if (arr[j] <= pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, right);
const p = i + 1;
quickSort(arr, left, p - 1);
quickSort(arr, p + 1, right);
}