java---快排

package com.yan1;
import java.util.Arrays;
public class Test1{
    public static void main(String[] args){
        int[] arr={6,3,7,8,3,2,9};
        sort(arr,0,arr.length-1);
        System.out.println(Arrays.toString(arr));
    }
    public static void sort(int[] arr,int begin,int end){
        if(arr.length<2||begin==end)
            return;
        int min=begin;
        int max=end;
        int piv=arr[begin];
        while(begin<end){
            while(begin<end&&arr[end]>=piv){
                end--;
            }
            arr[begin]=arr[end];
            while(begin<end&&arr[begin]<=piv){
                begin++;
            }
            arr[end]=arr[begin];
        }
        arr[begin]=piv;
        if(min<begin){
            sort(arr,min,begin-1);
        if(max>end){
            sort(arr,end+1,max);
    }
}

 


版权声明:本文为tiger_root原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。