转一篇详细的介绍。
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左边的数都小于它。所以进行扫描,要从基准数的对面开始。