티스토리 뷰

정렬

선택 정렬

따분한놈 2015. 10. 20. 01:24

아래의 이미지는 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;
    forint i=0; i<num; i++ )
    {
        forint j=i+1; j<num; j++ )
        {
            if( array[j] < array[idx] )
                idx = j;
        }
        swap( array[i] ,array[idx] );
    }
}
cs

 

'정렬' 카테고리의 다른 글

삽입 정렬  (0) 2015.10.22
버블 정렬  (0) 2015.10.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함