① 숫자 열 개를 두 그룹(g1, g2)으로 나눕니다.
g1: [6 8 3 9 10]
g2: [1 2 4 7 5]
② 두 그룹을 각각 정렬합니다(재귀 호출 부분이므로 이 부분은 뒤에서 설명합니다. 일단 각 그룹을 정렬해 봅니다).
g1: [3 6 8 9 10]
g2: [1 2 4 5 7]
③ 이제 두 그룹을 합쳐 다시 한 그룹으로 만들겠습니다(병합).
두 그룹의 첫 번째 값을 비교하여 작은 값을 빼내 결과 리스트에 넣습니다. g1의 첫 번째 값은 3, g2의 첫 번째 값은 1이므로 1을 빼내 결과 리스트(result)에 넣습니다.
g1: [3 6 8 9 10]
g2: [2 4 5 7]
result: [1]
④ 두 그룹의 첫 번째 값을 비교하여 작은 값을 빼내 결과 리스트에 넣는 과정을 반복합니다. 이번에는 g2의 2가 뽑혀 정렬됩니다.
g1: [3 6 8 9 10]
g2: [4 5 7]
result: [1 2]
⑤ 이번에는 g1의 3이 뽑혀 정렬됩니다.
g1: [6 8 9 10]
g2: [4 5 7]
result: [1 2 3]