๋ฒ๋ธ์ ๋ ฌ
์ด๋ฒ์๋ ๋ฒ๋ธ ์ ๋ ฌ์ ๋ํด ์์๋ณด์. ๋ฒ๋ธ์ ๋ ฌ์ด๋ ๋ฐ๋ก ๊ฐ๊น์ด์ ์๋ ๋ ์ซ์๋ผ๋ฆฌ ๋น๊ต๋ฅผ ํด์ ๋น์ฅ ๋ ์์ ์ซ์๋ฅผ ์์ผ๋ก ๋ณด๋ด์ฃผ๋ ๊ฒ์ ๋ฐ๋ณตํ๋ ๊ฒ์ด๋ค. ์์ ์๋ ๊ฐ์ ๋น๊ตํด์ ๋ ์์ ๊ฐ์ ๊ณ์ํด์ ์์ผ๋ก ๋ณด๋ธ๋ค๋ฉด ํฐ ์๋ถํฐ ์ฐจ๋ก๋๋ก ์ ๋ ฌ ๋ ๊ฒ์ด๋ค.
๋ค์์ ์ซ์๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
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<10;i++){
for(j=0;j<9-i;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for (i=0;i<10;i++){
printf("%d",array[i]);
}
return 0;
}
๋ฒ๋ธ์ ๋ ฌ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ค์์ ๊ตฌํ์ ๊ฐ์ฅ ์ฝ์ง๋ง ๊ฐ์ฅ ๋นํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ธ๋ฐ, ์ปดํจํฐ ๋ด๋ถ์ ์ธ ์ฐ์ฐ์ด ๊ฐ์ฅ ๋นํจ์จ์ ์ผ๋ก ์ผ์ด๋๊ฒ ๋์ด ์ค์ ์ํ์๊ฐ์ด ๊ฐ์ฅ ๋๋ฆฐ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ฒ๋ธ์ ๋ ฌ์ ์๊ฐ ๋ณต์ก๋๋ O(N^2)์ด๋ค.
ํ์ด์ฌ
a = [1,10,5,8,7,6,4,3,2,9]
for i in range(len(a)):
for j in range(len(a)-i-1):
if a[j]> a[j+1]:
tmp = a[j]
a[j] = a[j+1]
a[j+1] = tmp
a
์ด ๊ธ์ ๋๋๋น๋์ ์ค์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ข (Algorithm Programming Tutorial)๋ฅผ ์ฐธ๊ณ ํด ์์ฑํ์์ต๋๋ค.
https://www.youtube.com/watch?v=qQ5iLNjpxSk&list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz