버블 정렬 알고리즘에 대해 정리해보자.
이름에서도 알 수 있듯이, 하나의 원소와, 인접원소를 한 칸씩 움직이면서 비교해가는 모습이 거품이 생기는 것 같아서 버블 정렬이다.
굉장히 비효휼적인 알고리즘이고, 시간 복잡도가 O(n^2)이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include <algorithm> using namespace std; int main() { int a[10] = {-100, 10, 13, -5, 4, 12 , -5, 6, -1000, 2}; //버블 정렬 오름차순 for(int i = 0 ; i < 10 ; i++){ for(int j = 1 ; j < 10 - i ; j++){ //한 번의 시행에 가장 끝 숫자 결정 if(a[j-1] > a[j]) swap(a[j-1], a[j]); } } for(int i = 0 ; i < 10 ; i++) cout << a[i] << ' '; return 0; } | cs |
'Computer Science > Algorithm Theory' 카테고리의 다른 글
퀵, 머지, 힙 정렬 알고리즘 간단 정리 (0) | 2019.10.06 |
---|---|
삽입 정렬 알고리즘 구현 (C++) (0) | 2019.08.28 |
선택 정렬 알고리즘 구현 (C++) (0) | 2019.08.28 |
Counting Sort (C++) (0) | 2019.08.23 |
최대 공약수 gcd, 최소 공배수 lcm (0) | 2019.08.19 |