정렬 - 선택

881 단어 J#
선택 정렬의 원리는 거품이 일다와 유사한데 비해 교환의 시간 효율은 O(n)이고 비교의 시간 효율은 여전히 O(n^2)이다.
코드는 아래와 같고, 프로그램은 간단하며, 주석을 제공하지 않았다.
 
class Select {
    public static void main(String[] args) {
        int[] a = {2,4,6,3,6,2,6,4,9};
        sort(a);
        print(a);
    }

    private static void sort(int[] a) {
        int temp;
        for(int i=0; i<a.length-1; i++) {
            int min = i;
            for(int j=i+1; j<a.length; j++) {
                if(a[j] < a[min]) min = j;
            }
            if(min != i) {
                temp = a[min];
                a[min] = a[i];
                a[i] = temp;
            }
        }
    }

    private static void print(int[] a) {
        for(int i: a) System.out.print(i + " ");
        System.out.println();
    }
}
 

좋은 웹페이지 즐겨찾기