快速排序

2019-06-17  本文已影响0人  Jorvi

图解

3 1 6 4 5 7 2 为例,查看快速排序过程。

图例:
红色外框 - 基准点
蓝色背景 - i 位置
黄色背景 - j 位置
橙色背景 - i 、j 相遇点
紫色背景 - 基准点两边部分
绿色背景 - 其他元素

1. 第一次排序

对整体进行一次排序,以第一个元素作为基准,找出比基准小的放到左边,找出比基准大的放到右边,将整体数据一分为二。

2. 对左边部分进行排序

原理和之前一样。
排序完成后,左边部分只有一个元素,无需继续划分;右边部分没有元素,无需继续划分。

3. 对右边部分进行排序

原理和之前一样。
排序完成后,左边部分没有元素,无需继续划分;右边部分继续排序。

4. 右边部分继续排序

原理和之前一样。
排序完成后,左边部分没有元素,无需继续划分;右边部分继续排序。

5. 右边部分再继续排序

原理和之前一样。
排序完成后,左边部分没有元素,无需继续划分;右边部分只有一个元素,无需继续排序。

6. 整合

将几次排序的结果合并,得到最终结果。

7. 注意

每次都是先 从右向左 开始查找。

上一篇 下一篇

猜你喜欢

热点阅读