Skip to content

Commit c665e06

Browse files
committed
partition img
1 parent 32c3676 commit c665e06

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed
98.3 KB
Loading

docs/13_高级排序算法/quick_sort.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ def quicksort_inplace(array, beg, end): # 注意这里我们都用左闭右
5151

5252
能否实现只遍历一次数组就可以完成 partition 操作呢?实际上是可以的。我们设置首位俩个指针 left, right,两个指针不断向中间收拢。如果遇到 left 位置的元素大于 pivot 并且 right 指向的元素小于 pivot,我们就交换这俩元素,当 left > right 的时候退出就行了,这样实现了一次遍历就完成了 partition。如果你感觉懵逼,纸上画画就立马明白了。我们来撸代码实现:
5353

54+
![](./partition.png)
55+
5456
```py
5557
def partition(array, beg, end):
5658
pivot_index = beg

0 commit comments

Comments
 (0)