这次我继续给大家介绍的排序是快速排序,为什么快速排序单独提出来说一下,是因为快速排序其实可以从他的名字来看出来,快速排序,一定是相对于其他排序来说在某种程度上时间复杂度相对来说还是比较低的,并且快速排序是有好几种实现方式的。今天就给大家具体的介绍一下快速排序到底是个怎么回事。
首先要说的是我们的第一种实现方法----前后指针法,通过两个指针,前边的指针找比基准值小的元素,后边的指针找比基准值大的元素
当你拿到一个数组的时候{ 8, 1, 4, 9, 0, 3, 5, 2, 7, 6 };你需要选取一个基准值也就是key,这也就是你这个数组的中值,以他为中心,然后将你的数组左右分开,左边的是比他小的元素,右边的是比他大的元素,然后不断的往下递归让你的区间越来越小,直到你的数组有序。这个基准值一般都是选择你数组的最后一个或者是第一个都可以,这里我们拿最后一个元素当做基准值来进行操作。
{ 8, 1, 4, 9, 0, 3, 5, 2, 7, 6 };