본문 바로가기
알고리즘

버블 정렬(Bubble Sort)

by 까망 하르방 2021. 2. 24.
반응형

특징

- O(N2)

- 서로 인접한 두 원소를 비교하여 정렬

- 한 번의 탐색으로 가장 큰 원소가 맨 뒤에 위치하게 됩니다. (오름차순 기준)

 

 

시뮬레이션

 

구현 코드 (오름차순 기준)

#include <stdio.h>

int swap(int* a, int* b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

void bubbleSort(int arr[], int n) {
    for (int i = n-1; i > 0; i--) {
        for (int j = 0; j < i; j++) {
            if (arr[j] < arr[j + 1]) {
                swap(&arr[j], &arr[j + 1]);
            }
        }        
    }
}

void main() {
    int n = 10;
    int arr[10] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 };
    
    bubbleSort(arr, n);
    
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
}

 

관련 문제

[BOJ] 1427 소트인사이드

반응형

'알고리즘' 카테고리의 다른 글

플로이드 와샬 (Floyd Warshall)  (0) 2021.02.25
위상정렬 (Topological sort)  (0) 2021.02.24
DFS와 BFS 비교  (0) 2021.02.24
[예제] 합병 정렬 (Merge Sort)  (0) 2021.02.23
기수 정렬(Radix Sort)  (0) 2021.02.23

댓글