1. 알고리즘 개요
- 인접요소의 비교/교환을 통해 최대값을 제일 뒤로 보낸다
- 시간 복잡도 : $O(n^2)$
- 특징 : 뒷쪽부터 정렬된다는 특징이 있고, 교환횟수가 매우 많아 느리다.
2. 소스코드
void bubble_sort(int *arr, int size){
for(int i = 0 ; i < size - 1 ; i++){
// 마지막 칸은 자동 정렬되니까 size - 1 까지
for(int j = 0 ; j < size - i - 1; j++){
// 전체 루프 size - 1에서 정렬된 i 전까지
if(arr[j] > arr[j+1]){
swap(&arr[j], &arr[j+1]);
}
}
}
}
3. Reference
'알고리즘' 카테고리의 다른 글
정렬 (7) - 개선된 퀵 정렬 (Improved Quick Sort) (0) | 2020.02.11 |
---|---|
정렬 (6) - 퀵 정렬 (Quick Sort) (0) | 2020.02.11 |
정렬 (5) - 느린 정렬 알고리즘 비교 (0) | 2020.02.11 |
정렬 (3) - 삽입 정렬 (Insertion Sort) (0) | 2020.02.11 |
정렬 (2) - 선택 정렬 (Selection Sort) (0) | 2020.02.11 |
정렬 (1) - 개요 (0) | 2020.02.11 |
재귀 (7) - 메모이제이션 (Memoization) (1) | 2020.02.04 |