반응형
특징
- 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]);
}
}
관련 문제
반응형
'알고리즘' 카테고리의 다른 글
플로이드 와샬 (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 |
댓글