[java] 자바에서 선택 정렬 구현하기

이번에는 선택 정렬(Selection Sort) 알고리즘을 자바로 구현하는 방법에 대해 살펴보겠습니다.

선택 정렬 알고리즘 개요

선택 정렬은 일련의 요소들 중에서 최솟값(또는 최댓값)을 선택하여 정렬하는 알고리즘입니다. 리스트의 처음부터 순차적으로 요소를 선택하며, 선택된 요소를 나머지 요소들과 비교하여 최솟값(또는 최댓값)을 찾아서 해당 위치로 이동시킵니다. 이러한 과정을 반복하여 정렬을 완성합니다.

자바 코드 구현

다음은 자바로 선택 정렬을 구현하는 간단한 예제 코드입니다.

public class SelectionSort {
    public void selectionSort(int[] arr) {
        int n = arr.length;

        for (int i = 0; i < n-1; i++) {
            int minIndex = i;

            for (int j = i+1; j < n; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            }

            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }
    }

    public static void main(String[] args) {
        int[] arr = {64, 25, 12, 22, 11};
        SelectionSort ss = new SelectionSort();
        ss.selectionSort(arr);
        System.out.println("Sorted array: " + Arrays.toString(arr));
    }
}

위 코드에서는 selectionSort 메서드를 통해 선택 정렬 알고리즘을 구현했습니다. main 메서드에서는 정렬되지 않은 배열을 생성하고 selectionSort 메서드를 호출하여 배열을 정렬한 후 결과를 출력합니다.

결론

자바를 사용하여 선택 정렬 알고리즘을 구현하는 방법에 대해 알아보았습니다. 선택 정렬은 구현이 간단하고 이해하기 쉬운 알고리즘으로, 작은 규모의 리스트에 적합한 정렬 방법입니다.