1、分解:
- 分——选定一个元素作为基准元素,小于基准元素的放左边,大于基准元素的放左边,大于基准元素的放右边
- a1 a2 a3 …基准…an-1 an
- 治——递归求解子问题
2、基准元素的选取
-(a)取第一个元素
-(b)取最后一个元素
-(c)取位于中间位置的元素
-(d)三者取中的元素
-(e)取位于low和high之间的随机数
3、算法描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/783ec6593e8080f495727126970e21c2.png)
4、划分方法——过程设计
(1)方法1:基准元素不断调整位置,最后调整到正确的位置
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8dbc7d4dd3054f645d366e0f783b7a9d.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d980305c40a6ba3827c02ec607f4d4cb.png)
(2)方法2:从左右两方扫描,交换不正确位置的元素,直到扫描结束,才将基准元素换到正确的位置。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2087664b197f6b82ed9dd8349e9e5c72.png)
5、算法分析
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/164a40a49c9b285a1f3f818bd1451e24.png)