| 1 | Insert 8 at end | [10, 15, 30, 40, 50, 100, 40, 8] | 7 (new element) | Add element at index 7 | Array: [10, 15, 30, 40, 50, 100, 40, 8] |
| 2 | Compare with parent | [10, 15, 30, 40, 50, 100, 40, 8] | 7 (8) vs 3 (40) | 8 < 40 → Swap | Swap indices 7 and 3 |
| 3 | After swap | [10, 15, 30, 8, 50, 100, 40, 40] | 3 (8) | Move pointer to parent index 3 | Array: [10, 15, 30, 8, 50, 100, 40, 40] |
| 4 | Compare with parent | [10, 15, 30, 8, 50, 100, 40, 40] | 3 (8) vs 1 (15) | 8 < 15 → Swap | Swap indices 3 and 1 |
| 5 | After swap | [10, 8, 30, 15, 50, 100, 40, 40] | 1 (8) | Move pointer to parent index 1 | Array: [10, 8, 30, 15, 50, 100, 40, 40] |
| 6 | Compare with parent | [10, 8, 30, 15, 50, 100, 40, 40] | 1 (8) vs 0 (10) | 8 < 10 → Swap | Swap indices 1 and 0 |
| 7 | After swap | [8, 10, 30, 15, 50, 100, 40, 40] | 0 (8) | Pointer at root, stop | Array: [8, 10, 30, 15, 50, 100, 40, 40] |
| 8 | End | [8, 10, 30, 15, 50, 100, 40, 40] | N/A | Heap property restored | Final heap array |