快速排序的实现

  快速排序,主打就是讲究快,关于快速排序是怎么实现的,大家一定很想知道吧,那么,就由我带大家看看,今天我们讲的是快速排序的挖坑法,什么叫挖坑法呢,顾名思义,就是挖一个坑,把数放进去:

 其实快速排序就很简单,大家先看一下这个抽象图,也就是看,先把2拿出来,然后挖个坑,先从右边开始找小,找到就放到坑里面,然后小的那个位置再形成一个新的坑,再从左边找大,直到左右相遇,就把刚开始拿出来的2放到相遇点,就算完成一次,然后在看图:

第一趟排完,就变成了这个顺序,2走到了它该放的位置,也就意味着它不用在动了,然后将两边进行排序,最后,两边都排好顺序了,那整个就有序了,思路就这样,那么该如何实现呢,大家请看:

所用到的接口函数就这些,那么大家请看具体实现,先是主函数:

  再到排序函数:

排序中有个三数取中,这个有什么意义呢,就是为了避免元素本身就有序的时候,导致时间效率还是跟没序一样,所以也就是能算是填补了快速排序的缺陷,那么继续,打印跟交换:

最后把三数取中的函数放上来:

关于快速排序就到这里,后面还有其他排序,请大家三连后,关注后续更新。

  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值