~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing Constructor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ Original array: ~ [ 9 0 6 12 4 13 11 7 5 2 14 3 1 10 8 ] ~ After buildheap: ~ __ 0 __ __/ \__ 2 1 / \ / \ 5 4 3 8 / \ / \ / \ / \ 7 12 9 14 6 13 10 11 [ 0 2 1 5 4 3 8 7 12 9 14 6 13 10 11 ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing push: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After push(2) 2 [ 2 ] After push(9) 2 / 9 [ 2 9 ] After push(3) 2 / \ 9 3 [ 2 9 3 ] After push(14) 2 / \ 9 3 / 14 [ 2 9 3 14 ] After push(4) 2 / \ 4 3 / \ 14 9 [ 2 4 3 14 9 ] After push(1) 1 / \ 4 2 / \ / 14 9 3 [ 1 4 2 14 9 3 ] After push(11) 1 / \ 4 2 / \ / \ 14 9 3 11 [ 1 4 2 14 9 3 11 ] After push(13) __ 1 __ __/ \__ 4 2 / \ / \ 13 9 3 11 / 14 [ 1 4 2 13 9 3 11 14 ] After push(12) __ 1 __ __/ \__ 4 2 / \ / \ 12 9 3 11 / \ 14 13 [ 1 4 2 12 9 3 11 14 13 ] After push(8) __ 1 __ __/ \__ 4 2 / \ / \ 12 8 3 11 / \ / 14 13 9 [ 1 4 2 12 8 3 11 14 13 9 ] After push(6) __ 1 __ __/ \__ 4 2 / \ / \ 12 6 3 11 / \ / \ 14 13 9 8 [ 1 4 2 12 6 3 11 14 13 9 8 ] After push(10) __ 1 __ __/ \__ 4 2 / \ / \ 12 6 3 11 / \ / \ / 14 13 9 8 10 [ 1 4 2 12 6 3 11 14 13 9 8 10 ] After push(0) __ 0 __ __/ \__ 4 1 / \ / \ 12 6 2 11 / \ / \ / \ 14 13 9 8 10 3 [ 0 4 1 12 6 2 11 14 13 9 8 10 3 ] After push(5) __ 0 __ __/ \__ 4 1 / \ / \ 12 6 2 5 / \ / \ / \ / 14 13 9 8 10 3 11 [ 0 4 1 12 6 2 5 14 13 9 8 10 3 11 ] After push(7) __ 0 __ __/ \__ 4 1 / \ / \ 12 6 2 5 / \ / \ / \ / \ 14 13 9 8 10 3 11 7 [ 0 4 1 12 6 2 5 14 13 9 8 10 3 11 7 ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing pop (requires constructor to be working): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original Heap: __ 0 __ __/ \__ 4 1 / \ / \ 12 6 2 5 / \ / \ / \ / \ 13 14 8 9 10 3 11 7 [ 0 4 1 12 6 2 5 13 14 8 9 10 3 11 7 ] After pop(0) __ 1 __ __/ \__ 4 2 / \ / \ 12 6 3 5 / \ / \ / \ / 13 14 8 9 10 7 11 [ 1 4 2 12 6 3 5 13 14 8 9 10 7 11 ] After pop(1) __ 2 __ __/ \__ 4 3 / \ / \ 12 6 7 5 / \ / \ / \ 13 14 8 9 10 11 [ 2 4 3 12 6 7 5 13 14 8 9 10 11 ] After pop(2) __ 3 __ __/ \__ 4 5 / \ / \ 12 6 7 11 / \ / \ / 13 14 8 9 10 [ 3 4 5 12 6 7 11 13 14 8 9 10 ] After pop(3) __ 4 __ __/ \__ 6 5 / \ / \ 12 8 7 11 / \ / \ 13 14 10 9 [ 4 6 5 12 8 7 11 13 14 10 9 ] After pop(4) __ 5 __ __/ \__ 6 7 / \ / \ 12 8 9 11 / \ / 13 14 10 [ 5 6 7 12 8 9 11 13 14 10 ] After pop(5) __ 6 __ __/ \__ 8 7 / \ / \ 12 10 9 11 / \ 13 14 [ 6 8 7 12 10 9 11 13 14 ] After pop(6) __ 7 __ __/ \__ 8 9 / \ / \ 12 10 14 11 / 13 [ 7 8 9 12 10 14 11 13 ] After pop(7) 8 / \ 10 9 / \ / \ 12 13 14 11 [ 8 10 9 12 13 14 11 ] After pop(8) 9 / \ 10 11 / \ / 12 13 14 [ 9 10 11 12 13 14 ] After pop(9) 10 / \ 12 11 / \ 14 13 [ 10 12 11 14 13 ] After pop(10) 11 / \ 12 13 / 14 [ 11 12 13 14 ] After pop(11) 12 / \ 14 13 [ 12 14 13 ] After pop(12) 13 / 14 [ 13 14 ] After pop(13) 14 [ 14 ] After pop(14) (empty) [ ] Pop Passed!