| 1 | Build Max Heap start | 6 | [4, 10, 3, 5, 1, 2] | Heapify from index 2 to 0 | Initial array as heap |
| 2 | Heapify index 2 | 6 | [4, 10, 3, 5, 1, 2] | No change, 3 > children | Heap unchanged |
| 3 | Heapify index 1 | 6 | [4, 10, 3, 5, 1, 2] | No swap, 10 > 5 and 1 | Heap unchanged |
| 4 | Heapify index 0 | 6 | [10, 4, 3, 5, 1, 2] | Swap 4 and 10 | Array: [10, 4, 3, 5, 1, 2] |
| 5 | Heapify index 1 | 6 | [10, 5, 3, 4, 1, 2] | Swap 4 and 5 | Array: [10, 5, 3, 4, 1, 2] |
| 6 | Max Heap built | 6 | [10, 5, 3, 4, 1, 2] | Heap ready | Max heap complete |
| 7 | Swap root and end | 6 | [2, 5, 3, 4, 1, 10] | Swap 10 and 2, reduce size to 5 | Array: [2, 5, 3, 4, 1, 10] |
| 8 | Heapify root | 5 | [5, 2, 3, 4, 1, 10] | Swap 2 and 5 | Array: [5, 2, 3, 4, 1, 10] |
| 9 | Heapify index 1 | 5 | [5, 4, 3, 2, 1, 10] | Swap 2 and 4 | Array: [5, 4, 3, 2, 1, 10] |
| 10 | Swap root and end | 5 | [1, 4, 3, 2, 5, 10] | Swap 5 and 1, reduce size to 4 | Array: [1, 4, 3, 2, 5, 10] |
| 11 | Heapify root | 4 | [4, 1, 3, 2, 5, 10] | Swap 1 and 4 | Array: [4, 1, 3, 2, 5, 10] |
| 12 | Heapify index 1 | 4 | [4, 2, 3, 1, 5, 10] | Swap 1 and 2 | Array: [4, 2, 3, 1, 5, 10] |
| 13 | Swap root and end | 4 | [1, 2, 3, 4, 5, 10] | Swap 4 and 1, reduce size to 3 | Array: [1, 2, 3, 4, 5, 10] |
| 14 | Heapify root | 3 | [3, 2, 1, 4, 5, 10] | Swap 1 and 3 | Array: [3, 2, 1, 4, 5, 10] |
| 15 | Swap root and end | 3 | [1, 2, 3, 4, 5, 10] | Swap 3 and 1, reduce size to 2 | Array: [1, 2, 3, 4, 5, 10] |
| 16 | Heapify root | 2 | [2, 1, 3, 4, 5, 10] | Swap 1 and 2 | Array: [2, 1, 3, 4, 5, 10] |
| 17 | Swap root and end | 2 | [1, 2, 3, 4, 5, 10] | Swap 2 and 1, reduce size to 1 | Array: [1, 2, 3, 4, 5, 10] |
| 18 | Heapify root | 1 | [1, 2, 3, 4, 5, 10] | No heapify needed | Heap size 1, done |
| 19 | Sorting complete | 1 | [1, 2, 3, 4, 5, 10] | All sorted | Final sorted array |