이번에는 입력으로 주어진 리스트 [2, 4, 5, 1, 3]을 정렬하는 과정을 단계적으로 따져 보겠습니다. 종이와 연필을 준비하고 다음 과정을 직접 손으로 쓰면서 따라가 보세요. 알고리즘도 수학 문제처럼 직접 손으로 풀어 볼 때 제대로 이해되고 기억에 남습니다.
① 시작
a = [2 4 5 1 3] → 쉼표 생략
result = []
② a 리스트의 최솟값인 1을 a에서 빼내어 result에 추가합니다.
a = [2 4 5 3]
result = [1]
③ a에 남아 있는 값 중 최솟값인 2를 a에서 빼내어 result에 추가합니다.
a = [4 5 3]
result = [1 2]
④ a에 남아 있는 값 중 최솟값인 3을 같은 방법으로 옮깁니다.
a = [4 5]
result = [1 2 3]
⑤ a에 남아 있는 값 중 최솟값인 4를 같은 방법으로 옮깁니다.
a = [5]
result = [1 2 3 4]
⑥ a에 남아 있는 값 중 최솟값인 5를 같은 방법으로 옮깁니다.
a=[]
result = [1 2 3 4 5]
⑦ a가 비어 있으므로 종료합니다.
result = [1 2 3 4 5] → 최종 결과