快速排序原理:,通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
如
无序数组[14 2 4 1 5 18]
1.先把第一项[14]取出来,
用[14]依次与其余项进行比较,
如果比[14]小就放[14]前边,2 4 1 5都比[14]小,所以全部放到[14]前边
如果比[14]大就放[14]后边,18比[14]大,放到[14]后边。
一趟排完后变成下边这样:
排序前 14 2 4 1 5 18
排序后 2 4 1 5 14 18
2.对前半部分[2 4 1 5]继续进行快速排序
重复步骤1后变成下边这样:
排序前 2 4 1 5
排序后 1 2 4 5
前半拉排序完成,总的排序也完成:
排序前:[14 2 4 1 5 18]
排序后:[1 2 4 5 14 18]
排序结束