μλ£κ΅¬μ‘°
Selection Sort μ νμ λ ¬
mmin.h
2020. 8. 4. 10:22
μλ νμΈμ. μ£ΌμΈμ₯ Hμ λλ€.
μ€λμ μ νμ λ ¬μ λν΄μ μμ볼건λ°μ.
1~10 κΉμ§ 무μ§μν μ«μλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ€. λΌκ³ νλ€λ©΄
μ νμ λ ¬μ κ°μ₯ μμ κ²μ μ νν΄μ μ μΌ μμΌλ‘ 보λ΄λ©΄ μ΄λ¨κΉ? λΌλ κ³ λ―Όμμ μμνμ΅λλ€.
κ°μ₯ κΈ°μ΄μ μΈ μ λ ¬μ΄λΌκ³ ν μ μμ΅λλ€.
μ νμ λ ¬μ λλ΅ N* (N+1)/2 λ²μ μ°μ°μ μννλλ°μ.
λΉ μ€ νκΈ°λ²μΌλ‘ νκ²λλ€λ©΄ O(N^2)κ° λ©λλ€.
μ¦, μ ν μ λ ¬μ μκ° λ³΅μ‘λλ O(N^2).
// 1 ~ 10 κΉμ§ μ λ ¬ νκΈ°
#include<stdio.h>
int main(void) {
int arr[10] = { 1,3,2,5,7,6,10,9,8,4 };
int i, j, index, temp;
for (i = 0; i < 10; i++) {
int min = 11;
for (j = i; j < 10; j++) {
if (arr[j] < min) {
min = arr[j];
index = j;
}
}
temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
for (i = 0; i < 10; i++) {
printf("%d", arr[i]);
}
return 0;
}