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
'Computer Science > Data Structure, Algorithm' 카테고리의 다른 글
Jungol] 1178 : 정수의 곱과 자릿수 (0) | 2015.07.20 |
---|---|
Algorithm] Insertion Sort(삽입정렬) (0) | 2015.07.11 |
Algorithm] Quick Sort(퀵정렬) (0) | 2015.07.11 |
Algorithm] Selection Sort(선택정렬) (0) | 2015.05.26 |
Jungol] 1141 : 불쾌한 날 (0) | 2015.04.19 |