java全家桶

快速排序

2019-04-28  本文已影响0人  趁年轻多奋斗
public static void main(String[] args) {
    int[] arr = new int[]{2,5,7,9,3,4,2,0,4};
    Main.quick(arr,0,arr.length-1);
    System.out.println(Arrays.toString(arr));
}

public static void quick(int[] arr,int start,int end){
    if (start<end){
        //记录首数字
        int s = arr[start];
        int low= start;
        int hight = end;
        while (low<hight){
            while (low<hight&&arr[hight]>=s){
                hight--;
            }
            arr[low]=arr[hight];
            while (low<hight&&arr[low]<=s){
                low++;
            }
            arr[hight]=arr[low];
        }
        arr[low] = s;
        //大的递归
        quick(arr,low+1,end);
        //小的数字
        quick(arr,start,low);
    }

}
上一篇 下一篇

猜你喜欢

热点阅读