快速排序(挖坑法)

快速排序(挖坑法)

例如还是上一篇文章中的无序数列,我们依旧是选择一个基准值,仍然通过begin和end指针来操作

首先,我们仍然是从end开始向前找一个小于28的数,找到后直接放在begin的位置,注意这里不是交换,如下图

箭头所指向的是我们选取的基准值,这时可以理解为它不在这个数列当中,而end对应的位置就出现了一个坑,这时,begin开始向后寻找,找到第一个大于基准值的数后放到end的位置,如下图

此时,begin的位置又会出现一个坑,这时再次让end向前移动继续找第一个小于基准值的数,放到begin的位置,再使begin向后移动找第一个大于基准值的数,重复此操作直到begin和end相遇,这时,把基准值放到该位置。这样,一趟快速排序结束,如下图

此时,28的前面都是小于它的数,其后面都是大于它的数,则28的位置确定,只需要递归进行快排后,就会变成一个有序数列

代码如下

相关内容

胰腺IPMN能活多久
365bet官网开户网址

胰腺IPMN能活多久

⌛ 08-26 👁️ 5248
还能孩子多久歌词
365bet官网开户网址

还能孩子多久歌词

⌛ 08-20 👁️ 168
什么是IoT?
bet·365

什么是IoT?

⌛ 10-14 👁️ 5616