티스토리 뷰

선택정렬은 원소의 갯수만큼 루프를 수행하면서, 제일 작은 수를 선택하여 해당 루프의 맨 앞으로 보내는 정렬기법입니다.

for 루프를 두 번 중첩하기에 O(N^2)의 시간복잡도를 가집니다.


C++ 소스 코드

#include <cstdio>
using namespace std;
int main(){
    int nums[] = {3,6,1,2,9,7,4,5,10,8};
    for(int i=0;i<10;i++){
        int min = nums[i];
        int minIdx = i;
        for(int j=i;j<10;j++){
            if (nums[j]<min){
                min = nums[j];
                minIdx = j;
            }
        }
        int temp = nums[i];
        nums[i] = nums[minIdx];
        nums[minIdx] = temp;
    }
    for(int i=0;i<10;i++){
        printf("%d ", nums[i]);
    }
    return 0;
}

Swift 소스 코드

import Foundation

var nums = [3,6,1,2,9,7,4,5,10,8]
for i in 0..<10 {
    var min = nums[i]
    var minIdx = i
    for j in i..<10 {
        if nums[j] < min {
            min = nums[j]
            minIdx = j
        }
    }
    let temp = nums[i]
    nums[i] = nums[minIdx]
    nums[minIdx] = temp
}
for num in nums {
    print(num)
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
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 31
글 보관함