From
AcWing
Status
完全掌握
Date
Oct 1, 2022
Tags
quick_sort
Difficulty
简单
描述
思路
代码
python版
Hoare 分区方法的基本原理:
- 在 Hoare 分区方法中,选择一个中心点
x
,通常选择中间的元素作为分区元素(x = arr[(l + r) // 2]
)。
- 接着,初始化两个指针
i
和j
。i
从左边界l
开始向右移动,j
从右边界r
开始向左移动。
- 指针
i
和j
向中间移动并满足以下条件:i
继续移动直到找到一个不小于x
的元素;j
继续移动直到找到一个不大于x
的元素。
- 当两个指针满足
i < j
时,交换arr[i]
和arr[j]
,然后继续上述过程。
- 当这两个指针相遇时 (
i >= j
),分区过程结束。此时,j
是最后一个参与交换的位置,或者是两个指针相遇的位置。