변수 정렬 알고리즘에 대해서 아시는분?

by Zeprod posted Dec 18, 2006
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

ESC閉じる

Larger Font Smaller Font 上へ 下へ Go comment 印刷

정렬은 다음과 같이 합니다.


 


정렬할 변수가 4개라면 4개의 변수 a,b,c,d와 카운터 변수 1개를 이용합니다.


 


============================================================================================


카운터 변수에 0을 대입합니다.


 


a < b 일 경우 서로 교환합니다. (카운터 변수를 1 증가)


b < c 일 경우 서로 교환합니다. (카운터 변수를 1 증가)


c < d 일 경우 서로 교환합니다. (카운터 변수를 1 증가)


 


그다음 카운터 변수가 0 이라면 정렬이 끝났으니 정렬이벤트를 종료하고


 


0 이 아니라면 다시 자기자신(이벤트 자신)을 불러옵니다. [이벤트 불러오기 라는 명령이 있습니다.]


============================================================================================


 


이런 구조로 커먼이벤트를 만들어 실행하면 a,b,c,d 변수가 정렬이 될때까지 정렬이 안된부분을 교환해줄 것입니다.


 


교환의 경우 데이터 손실을 막기위해 임시 변수를 이용해 값을 교환해야하는데,


 


임시변수 에 a 대입


a 에 b 대입


b 에 임시변수 대입


 


3가지 명령으로 구현할 수 있습니다.


Articles

1 2 3 4 5 6 7 8 9 10