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