옆에 있는 값과 비교해서 더 작은 값을 앞으로 보내는 알고리즘을 버블 정렬이라 한다.

옆에 있는 값과 비교하여 더 작은 값을 반복적으로 앞으로 보내는 정렬 방법이다.

#include<stdio.h>

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++)
	{
		printf("%d, ", array[i]);
	}
	
	return 0;
}

선택 정렬은 배열의 가장 작은 인덱스부터 작은 값을 정렬시키고,

버블 정렬은 배열의 가장 큰 인덱스부터 큰 값 부터 정렬시킨다.

O(n*2) -> 선택 정렬과 같이 성능이 좋지 않다.

'알고리즘' 카테고리의 다른 글

자바 배열 정렬  (0) 2021.10.29
[java -heap]PriorityQueue 최소값 반환  (0) 2021.10.28
더 맵게[python3]  (0) 2021.10.27
python - heapq 힙  (0) 2021.10.27
[알고리즘] 선택 정렬(Selection Sort)  (0) 2020.06.28

+ Recent posts