1학기 자료구조 수업을 더 열심히 들을 걸..이라는 생각을 했다
개인공부이므로 오류가 있을 수 있습니다!
1. 정의
버블 정렬은 무작위로 나열되어 있는 데이터를 오름차순으로 정리하는 정렬의 방법 중 하나이다.
바로 옆 원소와 값을 비교해가며 더 작은 값을 앞으로 보내는 정렬방법이다.
2. 코드
위와 같은 내용을 코드로 구현하면 다음과 같다.
#include <stdio.h>
int main() {
int i, j, temp;
int array[10] = { 1,11, 55, 7, 8, 10, 63, 3, 97, 9 };
for (i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%d ", array[i]);
}
return 0;
}
시간복잡도는 선택정렬과 마찬가지로 O(N*N)이지만 연산과정이 더 많기 때문에 선택정렬보다 수행속도가 느리다
효율성이 가장 떨어지는 정렬방식이다
'Algorithm' 카테고리의 다른 글
[sort]삽입 정렬(Insertion sort) (0) | 2021.01.07 |
---|---|
[sort] 선택정렬(selection sort) (0) | 2021.01.06 |
댓글