C언어의 기초 문법

Select Sort

대표적인 정렬 알고리즘

 select sort는 아주 쉽고 대표적인 정렬 알고리즘 중 하나입니다. 한국어로는 '선택 정렬'이라고 하죠. 말 그대로 배열의 원소를 하나 하나 선택해 정렬하는 알고리즘입니다. 한 번 코드 보실까요?

int a[8] = {69, 10, 30, 2, 16, 8, 31, 22};
int i, j, t;

for (i = 0; i < 7; i++){
    for (j = i + 1; j < 8; j++){
        if(a[i] > a[j]){
            t = a[i];
            a[i] = a[j];
            a[j] = t;
        }
    }
}
for(i = 0; i < 8; i++)
    printf("a[%d] = %d\n", i, a[i]);

많이 어려우실 수 있어요. 처음 반복문에서 i < 7로 잡은 이유는 어짜피 i < 8로 잡든지 i < 7로 잡아도 같은 결과가 나와요. 이것도 수학이라서(수학과 코딩은 떨어질 수 없는 운명이란 말인가...) 이해 못 하실 수 있는데, 더 알고 싶으시다면 아래 수식을 해석해보세요^^

(여기에서 C는 배열을 뜻합니다. 이거 해석하실 수 있는 분 있으시다면 댓글란에 알려주세요;;)

댓글

댓글 본문
  1. Joel
    질문이 있으시다면 댓글란에 알려주세요! 제가 친절하게 답해드리겠습니다.
버전 관리
Joel
현재 버전
선택 버전
graphittie 자세히 보기