버블정렬

버블정렬이란 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식입니다.

알고리즘 이해하기

두 인접한 원소를 검사하여 정렬하는 방법입니다. 시간 복잡도가 O(n^2)로 느린편입니다. 


{ 3, 2, 1, 5, 4 }을 원소로 가지는 배열 arr을 오름차순으로 정렬해보도록 하겠습니다.


위의 과정을 반복합니다. 우연히도 이미 정렬이 완료되어있네요 ㅎㅎ..


알고리즘 구현하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = { 32154 };
 
        arr = bubbleSort(arr);
        for (int i = 0; i < 5; i++) {
            System.out.println(arr[i]);
        }
    }
 
    private static int[] 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]) {
                    int temp = arr[j + 1];
                    arr[j + 1= arr[j];
                    arr[j] = temp;
                }
            }
        }
        return arr;
    }
}
 
cs


'알고리즘 > 정렬' 카테고리의 다른 글

삽입정렬(Insert Sort)  (0) 2019.09.08

+ Recent posts