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

by Zeprod posted Dec 18, 2006
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

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


 


정렬할 변수가 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가지 명령으로 구현할 수 있습니다.