快速排序的实现

快速排序基础算法

算法思想:找一个基准点,通过一趟排序实现基准点的左边都比其小,右边都比其大。再继续对这两部分进行排序,直到整个序列达到有序。(不稳定排序)
图解(找第一个基准点的位置):
快速排序的实现
快速排序的实现现在基准点6的左边都比其小,右边都比其大。继续使用相同的方法,依次在左、右两边寻找下一基准点位置。
图解(根据6的左边进行排序):
快速排序的实现

图解(根据6的右边进行排序):
快速排序的实现
代码实现
快速排序的实现
快速排序的实现
快速排序的实现
运算结果
快速排序的实现
时间复杂度:O(nlogn)
空间复杂度:O(logn)