[java] 선택 정렬 알고리즘

이번 포스트에서는 Java를 사용하여 선택 정렬 알고리즘을 구현하는 방법에 대해 알아보겠습니다. 선택 정렬은 배열을 정렬하는 간단하면서도 효율적인 알고리즘 중 하나입니다.

선택 정렬 알고리즘 개요

선택 정렬 알고리즘은 배열을 순회하면서 현재 인덱스의 값과 그 이후의 모든 값을 비교하여 최소값을 찾고, 해당 최소값을 현재 인덱스와 swap하는 과정을 반복하여 정렬을 수행합니다.

아래는 선택 정렬 알고리즘의 구현된 예제 코드입니다.

public class SelectionSort {
    public static 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(arr);
        System.out.println("Sorted array: ");
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}

위의 코드는 선택 정렬을 구현한 Java 프로그램 예제입니다. selectionSort 메서드는 주어진 배열을 정렬하고, main 메서드에서 해당 메서드를 호출하여 결과를 출력합니다.

선택 정렬 알고리즘이 어떻게 작동하는지에 대한 자세한 설명은 생략되었으나, 위의 예제 코드를 통해 알고리즘의 구현 방법을 확인할 수 있습니다.

Java를 사용하여 선택 정렬 알고리즘을 구현하는 방법에 대해 알아보았습니다. 이를 활용하여 실제로 알고리즘을 적용 및 확장해볼 수 있을 것입니다.