① 숫자 열 개를 두 그룹(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]

     

    ④ 두 그룹의 첫 번째 값을 비교하여 작은 값을 빼내 결과 리스트에 넣는 과정을 반복합니다. 이번에는 g22가 뽑혀 정렬됩니다.

    g1: [3 6 8 9 10]

    g2: [4 5 7]

    result: [1 2]

     

    ⑤ 이번에는 g13이 뽑혀 정렬됩니다.

    g1: [6 8 9 10]

    g2: [4 5 7]

    result: [1 2 3]

     

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.