티스토리 뷰
아래는 버블 정렬을 보여주는 그림입니다.
버블 정렬은 그림과 같이 맨 처음 원소부터 인접한 원소를 비교하여 맨 끝 원소까지 비교를 하며 정렬을 하는 방법입니다.
그리고 그 모양이 물 속에서 물방울이 올라오는 모양같다고 하여 버블 정렬이라고 부릅니다.
아래와 같이 인접한 원소끼리 비교하여 큰 원소이면 바꾸는 식으로 뒤로 뒤로 보내게 되는 데요.
그런식으로 하다본면 맨 마지막 원소엔 가장 큰 원소가 자리잡게 됩니다.
그런식으로 다시 첫 원소부터 다시 비교를 하여 정렬을 하게 됩니다.
가장 큰 것을 마지막에 넣는 식이다 보니, 이미 정렬이 된 원소들은 제외를 하면서 정렬을 합니다.
1
2
3
4
5
6
7
8
9
10
11 |
void BubbleSort( int *array, int num )
{
for( int i=0; i<num; i++ )
{
for( int j=0; j<num-i-1; j++ )
{
if( array[j] > array[j+1] )
swap( array[j], array[j+1] );
}
}
} |
cs |