转一篇详细的介绍。
https://blog.youkuaiyun.com/gogogo_sky/article/details/75001926
问题: 快速排序为什么要从基准数的对面开始移动?
如果选取最左边的数arr[left]作为基准数,那么先从右边开始可保证i,j在相遇时,相遇数是小于基准数的,交换之后temp所在位置的左边都小于temp。但先从左边开始,相遇数是大于基准数的,无法满足temp左边的数都小于它。所以进行扫描,要从基准数的对面开始。
快速排序基准数选择解析
本文深入探讨了快速排序算法中基准数的选择策略,解释了为何从基准数的对面开始移动的重要性。通过对比分析,说明了正确的扫描方向如何确保分区操作的有效性。
转一篇详细的介绍。
https://blog.youkuaiyun.com/gogogo_sky/article/details/75001926
问题: 快速排序为什么要从基准数的对面开始移动?
如果选取最左边的数arr[left]作为基准数,那么先从右边开始可保证i,j在相遇时,相遇数是小于基准数的,交换之后temp所在位置的左边都小于temp。但先从左边开始,相遇数是大于基准数的,无法满足temp左边的数都小于它。所以进行扫描,要从基准数的对面开始。
5205

被折叠的 条评论
为什么被折叠?