Computer Science/Data Structure, Algorithm

Algorithm] Bubble Sort(버블정렬, 거품정렬)

TwinParadox 2015. 5. 26. 21:27
728x90

버블정렬은 일단 시간복잡도가 n^2이어서 상당히 느리지만,

반복문과 조건문을 막 배우고 난 사람이

습득하기 상당히 쉬운 알고리즘의 정렬이다.


arr[i]와 arr[i+n](n=1,2,3,…)를 비교하면서,

크기가 클 경우 계속 두 값을 바꿔주는 형식으로 진행된다.


#include <stdio.h>

void main()

{

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

int arrsize = sizeof(arr) / sizeof(arr[0]);

int temp = 0, i, j;


for (i = 0; i < arrsize - 1; i++)

{

for (j = i+1; j < arrsize; j++)

{

if (arr[i] > arr[j])

{

temp = arr[j];

arr[j] = arr[i];

arr[i] = temp;

}

}

}


for (i = 0; i < arrsize; i++) {

printf("%d ", arr[i]);

}

}

728x90