算法基础之快速排序(二)
话不多说,了解快速排序的原理
快速排序(Quicksort)是对冒泡排序的一种改进。
它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
–摘自百度
假设有一个无序数组需要从小到大进行排序,快排的思路就是 从当前数组中,找到一个元素作为基准比较值(key),分别从两个方向进行比较。从后往前找,比key小元素放在数组前面。然后从前往后找,比key大的元素放在数组后面。最终两个方向交汇到中间,让key交换到数组的中间位置。
从下面代码可以看出,取一个基准值,然后先从前往后找,再从后往前找,最后递归两个数组,合并数组就可以得出最后的结果