快速排序思想:
1、首先在一组待排序的元素中找到一个基准数(一般用第一个)
2、然后用两个游标分别指向第一(最左)和最后位置(最右)的元素
3、左边游标向右遍历查找第一个小于基准数的元素,右边游标向左遍历查找第一个大于基准数的元素
4、找到后如果左游标小于右游标则交换这两个元素,然后继续这个步骤。
5、找到后如果左游标大于等于右游标后则完成此次查找并且把基准数和右游标指向的元素交换位置
6、此时基准数的右侧元素都大于它左侧都小于它。
7、基准数把元素一分为二,然后再对左右两个子组合递归执行1~5的步骤最后完成排序。
当两个子数组都有序时整个数组自然就有序了,快速排序是一种分治的排序算法。
代码实现(图quick sort00)
quicksort00
网友评论