Language/Java

[JAVA] 거품 정렬 (Bubble Sort)

공부좀하시졍 2022. 12. 9. 17:53

거품정렬은 두 개의 인접한 원소를 비교하여 정렬하는 방식이다.

 

정렬 방법

1. 앞에서부터 현재 원소와 바로 다음의 원소를 비교한다.

2. 현재 원소가 다음 원소보다 크면 원소를 교환한다.

3. 다음 원소로 이동하여 해당 원소와 그 다음원소를 비교한다.

 

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j] > arr[j+1]) {
                    swap(arr, j, j+1);
                }
            }
        }
    }
    
    public static void swap(int[] arr, int src, int target) {
        int tmp = arr[src];
        arr[src] = arr[target];
        arr[target] = tmp;
    }
    
    public static void printArray(int[] arr) {
        for (int data: arr) {
            System.out.print(data + " ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int[] item = new int[] {5,3,8,1,2,7};
        System.out.println("정렬 전");
        printArray(item);
        bubbleSort(item);
        System.out.println("정렬 후");
        printArray(item);
    }

}

자바로 버블정렬 구현 코드를 공부하느라 작성한 글이다.

 

출처url :https://hanhyx.tistory.com/35