본문 바로가기
Java/AlgoritmStudy

선택정렬(SelectionSort)

by Tedi__ 2019. 8. 14.

선택정렬(SelectionSort)

선택정렬을 배열을 한바퀴 돌아서 최소/최대 값을 찾은 후(선택) 스왑을 통해 오름/내림차순으로 정렬한다.

선택정렬 - 오름차순

// 오름차순 정렬
public static void selectionSort_asc(int[] array) {
    int min;
    for(int i=0; i < array.length-1 ; i++) {
        min = i;
        for(int j=i+1; j < array.length; j++) {                
            if(array[j] < array[min]) {
                min = j;
            }
        }
        int tmp  = array[i];
        array[i] = array[min];
        array[min] = tmp;
    }
}

선택정렬 - 내림차순

// 내림차순 정렬
public static void selectionSort_desc(int[] array) {        
    int max;
    for(int i=0; i < array.length-1 ; i++) {
        max = i;
        for(int j=i+1; j < array.length; j++) {
            if(array[j] > array[max]) {
                max = j;
            }
        }
        int tmp = array[i];
        array[i] = array[max];
        array[max] = tmp;
    }
}

선택정렬 - 시간복잡도

참조 링크

https://gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html

'Java > AlgoritmStudy' 카테고리의 다른 글

병합 정렬(Merge Sort)  (0) 2019.08.14

댓글