ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 선택정렬
    카테고리 없음 2023. 4. 18. 12:31

    선택정렬

    • 주어진 리스트에서 최소값을 찾는다.
    • 최소 값을 찾아서 대상과 교환을 한다.
    • arr.length - 1 만큼 반복한다. 마지막은 할 필요가 없기 때문에
    예를 들어보자 min = 6

    6 2 7 8 1

    • min과 2를 비교해서 더 작은 값을 min에다 넣는다. min=2
    • 7과 8 도 비교를한다. 2가 더 작기 때문에 min은 그대로 2다.
    • min과 1을 비교한다. 1이 더 작기때문에 min 1을 넣는다.
    • 6과 1을교환 한다.
    • 이를 반복한다.
    소스를 보자!
    private static void selectionSort(int arr[]) {
        for (int i = 0; i < arr.length - 1; i++) {
            int min = i;
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[min]) { //min이 클경우 대상이 작기 때문에 대상을 min에다 넣는다.
                    min = j;
                }
            }
            int temp = arr[i];
            arr[i] = arr[min];
            arr[min] = temp;
        }
    }
    

    댓글

Designed by Tistory.