2. 버블 정렬

Seungjae·2021년 1월 18일
0

알고리즘 정리

목록 보기
3/10

버블 정렬


버블 정렬은 매우 직관적이고 간단한 알고리즘이다. 옆에 있는 값과 숫자를 비교해서 더 작은 값을 앞으로 보낸 다는 것이 버블 정렬의 아이디어이다.(오름차순 기준이다.) 이 방법을 사용할 경우 뒷쪽 부터 정렬이 완성된다. 매우 단순하고 직관적이지만 시간 복잡도가 O(n²)이고 컴퓨터 내부적 연상이 가장 비효율적으로 일어나게 되어 매우 비효율적인 알고리즘이라고 한다.

#include <iostream>

using namespace std;

int main() {
	int i, j, temp;
	int array[10] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 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++) {
		cout << array[i] << " ";
	}

	return 0;
}
profile
코드 품질의 중요성을 아는 개발자 👋🏻

0개의 댓글