9 9 9 9 pl x pr pl pr pl pr pr pl 피벗 이하 피벗 이상 1 2 3 4 5 6 7 8 1 2 3 4 1 2 3 4 5 6 7 8 9 pl pr 1 2 3 4 5 6 7 8 9 pl pr 1 2 3 4 5 6 7 8 9 pr pl 1 2 3 4 5 6 7 8 9 피벗 이하 피벗 이상
1 2 3 4 5 6 7 8 9 1 2 3 4 5 5 6 7 8 9 1 2 3 3 4 5 5 6 7 7 8 9 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 1 1 2 피벗 이하 피벗 이상
a 1 2 3 4 5 6 8 11 13 b 1 2 3 4 5 6 9 16 21 c 1 2 3 4 5 6 7 8 9 10 11 12 13 16 21
1 2 3 4 5 6 7 8 9 10 11 5 6 4 8 3 7 9 1 5 2 3 정렬 정렬 3 4 5 6 7 8 1 2 3 5 9 1 2 3 4 5 6 7 8 9 10 11
8 6 7 9 10 3 1 2 4 5 루트(가장 큰 값) 1 2 3 4 5 6 7 8 9 10
루트를 없애고 마지막 요소를 루트로 옮긴다. 8 6 7 9 1 3 2 4 5 8 6 7 9 10 3 1 2 4 5 8 6 7 9 1 3 2 4 5 8 6 7 1 9 3 2 4 5 큰 값을 가지는 자식과 위치를 바꾼다.
8 6 7 1 9 3 2 4 5 1 6 7 8 9 3 2 4 5 큰 값을 가지는 자식과 위치를 바꾼다. 1 6 7 8 9 3 2 4 5 7 6 1 8 9 3 2 4 5 큰 값을 가지는 자식과 위치를 바꾼다.
8 6 7 9 10 3 2 4 5 1 1 2 3 4 5 6 7 8 9 10 정렬 8 6 7 9 10 3 2 4 5 1 2 3 4 5 6 7 8 9 10
8 6 7 9 10 3 2 4 5 1 1 2 3 4 5 6 7 8 9 10 다시 힙으로 만듭니다. 가장 큰 값인 루트를 꺼내 a[9]로 옮김 7 6 1 8 9 3 2 4 5 1 2 3 4 5 6 7 8 9 10 다시 힙으로 만듭니다. 가장 큰 값인 루트를 꺼내 a[8]로 옮김 6 1 7 8 3 2 4 5 1 2 3 4 5 6 7 8 9 10
10 10 다시 힙으로 만듭니다. 가장 큰 값인 루트를 꺼내 a[7]로 옮김 1 6 7 3 2 4 5 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 10 다시 힙으로 만듭니다. 가장 큰 값인 루트를 꺼내 a[6]로 옮김 1 4 6 3 2 5 1 2 3 4 5 6 7 8 9 10