1.简介
快速排序(Quicksort)是对冒泡排序的一种改进
2.基本思想
1>.基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行
,以此达到整个数据列表变成有序序列的目的;
2>.具体流程如下图:
说明:
①.从列表中取一个元素p
(例如第一个元素或者最后一个元素),
使元素p归位,即列表被p分成两个部分,左边的元素都比p小,右边都比p大;
②.使用递归
将列表左右两部分按照相同的方式完成排序;
③.归位:
- 先从列表中拿出一个元素
temp(假设为第一个元素),
然后将右边最后一个元素跟temp比较
,如果比temp小,那么将这个元素放到temp位置;然后将左边第二个元素跟temp比较
,如果比temp大,那么将这个元素放到之前空出来的位置上;然后再将右边倒数第二个元素跟temp比较,如果比temp小,放到左边的空位置上,然后再从左边第二个元素开始找大于tem