Algorithm

[sort] 버블정렬(bubble sort)

녱녱 2021. 1. 7.

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

댓글