快速排序在实际应用中是比较表现好的排序算法。快速排序我用两种方法实现它。
第一种为方法,形象的称为:挖坑法
基本思路:1、寻找pos位,然后将其分为两段数组,然后对这两段数组递归排序;
2、指定一个基数temp(三数取中法),定义两个指针begin一个指向起始位置,end一个指向最后一个元素的位置。begin寻找比基数(temp)大的数字,找到 后将begin的数据赋给end,begin成为一个坑,然后end寻找比基数(temp)小的数字,找到将end的数据赋给begin,end成为一个新坑,循环这个过程,直到begin指针与end指针相遇,然后将temp的数据返回给那个坑,然后进行递归操作。
代码实现为: