프로그래밍/알고리즘

Bubble Sort (버블정렬)

coty 2019. 8. 2. 20:32

https://www.fun-coding.org/DS&AL4-4.html

 

두개씩 짝지어 비교하여 더 작은 값을 오른쪽으로 옮기고 전체적으로 오른쪽으로 정렬한다.

시간 복잡도 : 최소값을 한번 찾는데 n-1, 찾은 최소값을 오른쪽부터 차례로 정렬하는데 n-1,

-> O(n^2)

 

Code

#include <iostream>
using namespace std;

#define size 10

int main() {

	int arr[size] = { 4,10,6,9,2,8,5,7,3,1 };

	cout << "정렬 전 : ";
	for (int i = 0; i < size; i++)
		cout << arr[i] << " ";

	for (int i = 0; i < size - 1; i++) { 
		for (int j = 0; j < size - i - 1; j++) {
			if (arr[j] >= arr[j + 1])           
				swap(arr[j], arr[j + 1]);
		}
	}
	cout << "\n정렬 후 : ";
	for (int i = 0; i < size; i++)
		cout << arr[i] << " ";
}