实现思路:
代码实现:
import java.util.Arrays;
/**
* @Author: PurcellHuang
* @Date: 2019-08-08 10:30
*/
public class QuickSort {
/**
* @Author: PurcellHuang
* @Date: 2019-08-08 10:31
* 快速排序
*/
public static void sort(int []a, int start, int end){
if(start < end){
int stard = a[start]; //基准
int left = start;
int right = end;
while(left < right){
//从右边开始直到找到比基准小的数
while(left < right && a[right] >= stard){
right--;
}
a[left] = a[right];
//从左边开始直到找到比基准大的数
while(left < right && a[left] <= stard){
left++;
}
a[right] = a[left];
}
a[left] = stard;
sort(a,start,left-1);
sort(a,right+1,end);
}
}
public static void main(String[] args) {
int []a = {2,4,5,2,1,88,8,9,21,2,5};
QuickSort.sort(a,0,a.length-1);
System.out.println(Arrays.toString(a));
}
}