μλ£κ΅¬μ‘°
Insertion Sort μ½μ μ λ ¬
mmin.h
2020. 8. 4. 10:31
μλ νμΈμ. μ£ΌμΈμ₯ Hμ λλ€.
μ€λμ μ½μ μ λ ¬μ λν΄ μμλ³΄κ² μ΅λλ€.
μ€λ¦μ°¨μμΌλ‘ 무μ§μν 1~10 μ μ λ ¬νλ€κ³ νμλ,
κ° μ«μλ₯Ό μ μ ν μμΉμ μ½μ νλ λ°©λ²μΌλ‘ λ¬Έμ λ₯Ό νλλ€.
λ€λ₯Έ μ λ ¬κ³Ό λΉκ΅ν΄ λ³Έλ€λ©΄ μ½μ μ λ ¬μ νμν λλ§ μμΉλ₯Ό λ°κΎΈκ² λ©λλ€.
μ½μ μ λ ¬μ κΈ°λ³Έμ μΌλ‘ μ λ ¬μ΄ λμ΄μλ€κ³ κ°μ νμ λ κ΅μ₯ν λΉ λ₯Έ μλλ₯Ό μλν©λλ€.
μμ€ μ½λ μ λ°λ³΅λ¬Έμ΄ λ λ² λ€μ΄κ° μλ€λ μ μμ μκ° λ³΅μ‘λλ O(N^2)μ λλ€.
#include <stdio.h>
int main(void)
{
int arr[10] = { 1,3,2,5,7,6,10,9,8,4 };
int i, j, tmp;
for (i = 0; i < 9; i++)
{
j = i;
while (j >= 0 && arr[j] > arr[j + 1]) {
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
j--;
}
}
for (i = 0; i < 10; i++) {
printf("%2d", arr[i]);
}
return 0;
}