快速排序,主打就是讲究快,关于快速排序是怎么实现的,大家一定很想知道吧,那么,就由我带大家看看,今天我们讲的是快速排序的挖坑法,什么叫挖坑法呢,顾名思义,就是挖一个坑,把数放进去:
其实快速排序就很简单,大家先看一下这个抽象图,也就是看,先把2拿出来,然后挖个坑,先从右边开始找小,找到就放到坑里面,然后小的那个位置再形成一个新的坑,再从左边找大,直到左右相遇,就把刚开始拿出来的2放到相遇点,就算完成一次,然后在看图:
第一趟排完,就变成了这个顺序,2走到了它该放的位置,也就意味着它不用在动了,然后将两边进行排序,最后,两边都排好顺序了,那整个就有序了,思路就这样,那么该如何实现呢,大家请看:
所用到的接口函数就这些,那么大家请看具体实现,先是主函数:
再到排序函数:
排序中有个三数取中,这个有什么意义呢,就是为了避免元素本身就有序的时候,导致时间效率还是跟没序一样,所以也就是能算是填补了快速排序的缺陷,那么继续,打印跟交换:
最后把三数取中的函数放上来:
关于快速排序就到这里,后面还有其他排序,请大家三连后,关注后续更新。