[#8] Bubble Sort : 버블 정렬

Fuji ㅣ 2022. 8. 13. 12:07

버블 정렬

이웃요소 끼리  교환하며 순회하는 방식을 버블 정렬이라고 한다. 

 

출처: https://roxxy.tistory.com/entry/%EB%B2%84%EB%B8%94%EC%A0%95%EB%A0%AC-Bubble-Sort

 

장점

구현이 쉽다.

 

단점

n번동안 (n - 1)개를 제외해서 모든 인덱스를 순회하므로 n(n - 1)/2 의 경우의 수를 가진다. 이는 상당히 비효율적이다. 

 

 


 

전체 코드

#include <iostream>

#define LENGTH 5

int main(void)
{
	using std::cout;
	int data[LENGTH] = { 5, 3, 2, 4, 1 };
	int temp = 0;

	for (int i = 0; i < LENGTH; i++)
	{
		for (int j = 0; j < (LENGTH - 1) - i; j++)
		{
			if (data[j] > data[j + 1])  // 오름차순
			{
				temp = data[j + 1];
				data[j + 1] = data[j];
				data[j] = temp;
			}
			if (data[j] < data[j + 1])  // 내림차순
			{
				temp = data[j + 1];
				data[j + 1] = data[j];
				data[j] = temp;
			}
		}
	}

	for (int i = 0; i < LENGTH; i++)
		cout << data[i] << ' ';

	return 0;
}

 

 

 


 

'과거 자료' 카테고리의 다른 글

[#10] Quick Sort : 퀵 정렬  (0) 2022.08.16
[#9] Insert Sort : 삽입 정렬  (0) 2022.08.14
[#7] Disjoint Set (분리 집합)  (0) 2022.08.10
[#6] Expression Tree (수식 트리)  (0) 2022.08.07
[#5] Binary Search Tree (이진 탐색 트리)  (0) 2022.08.05