정보과학 교과서 151p
----
버블 정렬(bubble sort)은 인접한 값을 비교한 후, 크기에 따라 위치를 바꾸는 과정을 반복하는 정렬 방법이다.
마치 공기 방울이 물 위로 올라가는 것처럼, 반복적으로 비교하고 자리를 바꾸는 과정을 통해서 정렬되기 때문에 버블 정렬이라고 부른다.
n개의 정수 데이터를 입력받아 오름차순으로 정렬하여 출력하는 프로그램을 작성해보자.
단, 정렬 함수 sort() 를 사용할 수 없다.
#include <stdio.h>
int n, d[3010];
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
for(int i=1; i<=n; i++) //n번 실행한다.
{
for(int j=1; j<=n-1; j++)
{
if(d[j] > d[j+1]) //왼쪽 값이 오른쪽 값보다 크면, 오른쪽 값과 자리를 바꾼다.
{
int t = d[j];
d[j] = d[j+1];
d[j+1] = t;
}
}
}
for(int i=1; i<=n; i++)
printf("%d ", d[i]);
}