快排第一趟序列

版权声明:本文为博主原创文章,转载附上地址就可以啦,多交流。 https://blog.csdn.net/weixin_30363263/article/details/82350215

若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束时,键值的排序为:

快排第一趟序列:

以后做快排的题记得用填坑法来做,不要从左到右遍历了,算法如下:

1. 默认选取第一个元素作为基准,将第一个位置变成空位

2. 从尾开始遍历,将第一个比基准小的元素填到空位,然后将该元素的位置变成空位

3. 从头开始遍历,将第一个比基准大的元素填到空位,然后将该元素的位置变成空位

4. 重复 2 和 3,直到空位出现在中间

递归地对所有子序列执行以上步骤即可完成快速排序。

按照该步骤:

1、空 15 14 18 21 36 40 10

2、10 15 14 18 空 36 40 21

发现 已经在中间了,那么把20放中间即可

根据上面的算法可以得到第一趟排序结束的时候序列为:10, 15, 14, 18, 20, 36, 40 ,21

猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/82350215