알고리즘_2_정렬의 개요와 선택 정렬
Aug 8, 2021
»
writing
K 실전 알고리즘 강좌(Algorithm Programming Tutorial) 동빈나 님 수업을 참고하여 작성하였습니다
2_정렬의 개요와 선택 정렬
정렬의 개요와 선택 정렬
1. 정렬 (Sort) 1) 선택 정렬 (Selection Sort) : 가장 작은 것을 선택해서 제일 앞으로 보내는 알고리즘
가장 작은 것을 선택해서 제일 앞으로 보내면 어떨까?
#include <stdio.h>
int main(void) {
int i, j, min, index, temp;
int array[10] = {1, 10, 5, 8, 7, 6, 4, 3, 2, 9};
for (i = 0; i< 10; i ++) {
min = 9999;
for (j = i ; j< 10; j++){
if (min > array[j]) {
min = array[j];
index = j;
}
}
temp = array[i];
array[i] = array[index];
array[index] = temp;
}
for(i = 0; i< 10; i++) {
printf("%d ", array[i]);
}
return 0;
}
// 1 2 3 4 5 6 7 8 9 10
선택 정렬의 시간 복잡도는 N^2