目录
快速排序是一种基于分治法的排序算法。它的基本思想是通过一个“基准元素”(pivot)将待排序数组分成两个子数组,其中一个子数组的元素全部小于基准元素,另一个子数组的元素全部大于基准元素,然后递归地对两个子数组进行排序。
二、快速排序算法具体步骤如下:
2.1、选择基准(Pivot)
从数组中选择一个元素作为基准。
2.2、分区(Partition)
重排数组,使得所有小于基准的元素位于基准的左侧,所有大于基准的元素位于基准的右侧。
2.3、递归排序:
对基准左侧和右侧的子数组分别进行快速排序。
三、快速排序算法实现要点
3.1、选择基准(Pivot)
从数组中挑选一个元素作为基准,常用的方法有选择第一个元素、最后一个元素、随机选择一个元素或选择中间位置的元素。
3.2、分区(Partitioning)
重新排序数组,所有比基准小的元素放在基准前面,所有比基准大的元素放在基准后面(与基准相等的元素可以放在任一边)。在这个分区操作完成之后,基准元素所在的位置就是最终排序后它的位置。