티스토리 뷰
아래의 이미지는 7개의 정수를 선택 정렬을 이용하여 정렬을 하고 있는 모습니다.
가장 첫 번째자리 8이 있는 자리에 7개의 배열을 검사하여 제일 작은 녀석을 8과 바꿉니다.
그렇게 되면 우선 1번쨰 자리에는 가장 작은 녀석이니 배제하고 2번째에 들어올 녀석을 다시 6개의 배열을
검사하여 제일 작은 녀석과 2번째 자리에 있는 4와 바꾸는 식으로 정렬을 하게 됩니다.
시간 복잡도는 O(n²) 입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13 |
void SelectionSort( int *array, int num )
{
int idx = 0;
for( int i=0; i<num; i++ )
{
for( int j=i+1; j<num; j++ )
{
if( array[j] < array[idx] )
idx = j;
}
swap( array[i] ,array[idx] );
}
} |
cs |