[java] 자바에서 버블 정렬 구현하기

버블 정렬은 인접한 원소를 비교하여 오름차순 또는 내림차순으로 정렬하는 알고리즘입니다. 이 알고리즘은 간단하지만 효율성이 떨어지기 때문에 대규모 데이터에는 적합하지 않습니다. 그럼에도 불구하고, 이해하기 쉽고 구현하기 간단하여 교육 목적으로 사용되곤 합니다.

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n-1; i++) {
            for (int j = 0; j < n-i-1; j++) {
                if (arr[j] > arr[j+1]) {
                    // swap arr[j+1] and arr[j]
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }

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

위의 코드는 버블 정렬을 구현한 Java 예제입니다. 배열을 입력으로 받아 인접한 두 원소를 비교하여 정렬합니다.

이 알고리즘을 사용하면 배열의 크기가 작을 때는 효율적일 수 있지만, 큰 규모의 데이터에는 비효율적이기 때문에 실제 프로덕션 환경에서는 사용을 지양해야 합니다.

참고문헌: