快速排序都会写, 但这几个问题你回答得出来么?
912. 快速排序
虽然大家都能默写出快速排序, 但是这几个问题是我在今天一个等于符号错误的时候引申出来的, 记录一下, 本文现讲正确性, 再谈优化
为什么一定要先从右边开始?? 能不能先从左边开始?
其实不一定要先从右边开始, 当你要升序排序的时候, 从右边开始, 反之亦然
从右边开始是因为要保证left指向的值在退出循环时永远小于等于pivot, 保证随后的中枢值归位swap(nums, pivot_index, left);的正确性.
正确性
partition判断时的等号,什么时候取,为什么?
先别
原创
2022-01-07 21:15:11 ·
639 阅读 ·
0 评论