C언어 - 선택 정렬

SEUNGJUN JEONG·2022년 6월 1일
0

C/C++

목록 보기
9/15

차례차례 비교해나가는 방식

#include <stdio.h>

#define SIZE 5

int main() {
    int list[SIZE] = {3, 2, 5, 1, 4};
    int temp;

    printf("정렬 전 순서\n");
    for (int i = 0; i < SIZE; i++)
        printf("%d ", list[i]);
    printf("\n");

    for (int i = 0; i < SIZE - 1; i++) { // SIZE - 1 -> 마지막 대상은 비교 필요X
        for (int j = i + 1; j < SIZE; j++) { // j = i + 1 -> 선정 위치 다음값부터 마지막까지 비교
            if (list[i] > list[j]) {
                temp = list[i];
                list[i] = list[j];
                list[j] = temp;
            }
        }
    }

    printf("정렬 후 순서\n");
    for (int i = 0; i < SIZE; i++)
        printf("%d ", list[i]);
    printf("\n");

    return 0;
}

이 알고리즘의 핵심이라 할 수 있는 중첩반복문 내 조건문 예시
i = 0, j = 1 일 때 가정
-> 조건에서 list[i] = 3, list[j] = 1

profile
Microsoft Learn Student Ambassadors

0개의 댓글