- 博客(1)
- 收藏
- 关注
原创 (自留)关于快速排序为什么从右边开始
因为它是在扫描到第一个比基准数小的元素停下,这就确保了一件事,至少j下标的元素都比基准数小,然后再从左开始扫描,到第一个比基准数大的元素停下,再将a[i]与a[j]中储存的数据交换。但是如果先从左边开始扫描,a[i]是一个比基准数大的数,那么存在这种情况:j在扫描的时候,恰好扫到的元素都大于基准数,只到扫描到a[i],由于i<j的先决条件,快排是先确定一个基准数,然后将数组中比基准数小的数放到基准数的左边,比基准数大的数放到基准数的右边。,然后这个数与基准数交换,这是不符合规则的。教材上是先从右边开始,
2023-03-11 20:28:46 130 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人