JAVA实现快速排序
思路:
1.选取数组的第一个元素当做基准数据,并设两个指示标志:low指向起始位置,high指向末尾。
2.先high往左扫描,
3.当遇到比基准数据小的数据就放到整个序列左边(有空位)
3.如果比基准数据大,就不移动,接着high向左移动接着判断
4.如果移动以后就使用low向右扫描
5.当遇到比基准数大的数据就放到整个序列的右边(有空位)
5.如果比基准数据小,就不移动,接着low向右移动接着判断
6.当low和high指向同一个位置时,将基准数放入该位置
7.这次就分为以基准数为分界的两个区间
8.接着重复以上步骤
9.直到每个区间只存在一个元素时排序完成
图片演示:
时间复杂度为:O(nLogn)
代码:
public static void quickSort