快速排序-java

public class 快速排序 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int [] A = {1,2,3,5,9,7,8,6};
        QUICKSORT(A,0,A.length-1);
        for (int i:A){
            System.out.println(i);
        }
    }
    public static int PARTITION(int []A,int p,int r){
        int x = A[r];
        int i = p-1;
        int ex;
        for(int j = p; j<=r-1;j++){
            if(A[j] <= x){
                i = i+1;
                ex = A[i];
                A[i] = A[j];
                A[j] = ex;
            }
        }
        ex = A[i + 1];
        A[i + 1] = A[r];
        A[r] = ex;
        return i+1;
    }
    public static void QUICKSORT(int [] A,int p,int r){
        int q;
        if(p < r){
            q = PARTITION(A,p,r);
            QUICKSORT(A,p,q-1);
            QUICKSORT(A,q+1,r);
        }
    }

}

猜你喜欢

转载自blog.csdn.net/qq_41484460/article/details/80244425