Java 퀵정렬 구현

1 개요[ | ]

Java 퀵정렬 구현
Java
Copy
public class MyClass {
    static void quickSort(int[] a) {
        quickSort(a, 0, a.length-1);
    }
    static void quickSort(int[] a, int L, int R) {
        int left, right, pivot=a[L];
        for(left=L,right=R; left<right; right--) {
            while( a[right]>=pivot && left<right ) right--;
            if( left<right ) a[left] = a[right];
            while( a[left]<=pivot && left<right ) left++;
            if( left>=right ) break;
            a[right] = a[left];
        }
        a[left]=pivot;
        if( left>L ) quickSort(a, L, left-1);
        if( left<R ) quickSort(a, left+1, R);
    }
    public static void main(String[] args) {
        int[] arr = {9,1,22,4,0,-1,1,22,100,10};
        quickSort(arr);
        for(int x:arr) System.out.format( "%d ", x );
        // -1 0 1 1 4 9 10 22 22 100 
    }
}

2 같이 보기[ | ]