μ½μ μ λ ¬
μ΄λ²μλ μ½μ μ λ ¬μ λν΄ μμ보μ. μ½μ μ λ ¬μ΄λ κ° μ«μλ₯Ό μ μ ν μμΉμ μ½μ νλ κ²μ΄λ€. λ¨Όμ μμ€μ½λλ₯Ό νμΈν΄λ³΄μ.
λ€μμ μ«μλ€μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
1 10 5 8 7 6 4 3 2 9
#include <stdio.h>
int main(void){
int i,j,temp;
int array[10] = {1,10,5,8,7,6,4,3,2,9};
for(i=0;i<9;i++){
j=i;
while(j >=0 && array[j] > array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
j--;
}
}
for (i=0;i<10;i++){
printf("%d",array[i]);
}
return 0;
}
μ½μ μ λ ¬μ κΈ°λ³Έμ μΌλ‘ 'μ λ ¬μ΄ λμ΄μλ€κ³ κ°μ 'νλ€λ μ μμ νΉμ ν κ²½μ°μ λ°λΌμ κ΅μ₯ν λΉ λ₯Έ μλλ₯Ό μλνλ€. λ°λ³΅λ¬Έμ΄ λ λ² λ€μ΄κ° μμΌλ―λ‘ μ½μ μ λ ¬μ μκ° λ³΅μ‘λλ O(N^2)μ΄λ€.
i=0μΌλ, 10μ 1μ μκ³Ό λ€, μ¦ _ 1 _ λ κ³³μ λ€μ΄κ° μ μλλ° μ€λ₯Έμͺ½ μ리μ μ½μ λμ΄μΌ μ€λ¦μ°¨μ μ λ ¬μ΄ λλ€.i=1μΌλ, 5λ _ 1 _ 10 _ μΈ κ³³μ λ€μ΄κ° μ μλλ° 1κ³Ό 10 μ¬μ΄μ λ€μ΄κ°μΌ νλ€.
κ±°μ μ λ ¬μ΄ λμ΄μλ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ.
λ€μμ μ«μλ€μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
2 3 4 5 6 7 8 9 10 1
μ½μ μ λ ¬μ νμν κ²½μ°μλ§ μ½μ μ μ§ννλ―λ‘ λ°μ΄ν°κ° κ±°μ μ λ ¬λ μνμ νν΄μλ μ΄λ€ μκ³ λ¦¬μ¦λ³΄λ€λ λΉ λ₯΄λ€λ νΉμ§μ κ°μ§κ³ μλ€.
νμ΄μ¬
a = [1,10,5,8,7,6,4,3,2,9]
for i in range(len(a)-1):
j = i
while(a[j]>a[j+1]):
temp = a[j]
a[j]= a[j+1]
a[j+1] = temp
j -=1
a
μ΄ κΈμ λλλΉλμ μ€μ μκ³ λ¦¬μ¦ κ°μ’ (Algorithm Programming Tutorial)λ₯Ό μ°Έκ³ ν΄ μμ±νμμ΅λλ€.
https://www.youtube.com/watch?v=qQ5iLNjpxSk&list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz