본문 바로가기

IT/자료구조 & 알고리즘

[Java] 버블 정렬 (Bubble Sort)

버블 정렬이란 n번째 값과 n+1 번째 값을 비교하여 Swap한다. 마지막 인덱스부터 정렬된 값이 저장된다.

[5, 4, 3, 2, 1]


[4, 3, 2, 1, 5] (1회) 
[3, 2, 1, 4, 5] (2회)
[2, 1, 3, 4, 5] (3회)
[1, 2, 3, 4, 5] (4회)

 

정렬 속도 순 : 삽입정렬 > 선택정렬 > 버블정렬

속도 : O(n^2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Arrays;
 
 
public class BubbleSort {
 
    public static void main(String[] args) {
        int[] arr = {54321};
        int len = arr.length;
        int temp = 0;
 
        System.out.println(Arrays.toString(arr));
 
        for (int i = 0; i < len - 1; i++) {
            for (int j = 0; j < len - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1= temp;
                }
            }
            System.out.println(Arrays.toString(arr));
        }
    }
}
cs