~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing Constructor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ Original array: ~ [ 5 8 10 13 12 14 11 7 9 6 3 1 0 2 4 ] ~ After buildheap: ~ __ 0 __ __/ \__ 3 1 / \ / \ 7 6 5 2 / \ / \ / \ / \ 13 9 8 12 10 14 11 4 [ 0 3 1 7 6 5 2 13 9 8 12 10 14 11 4 ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing push: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After push(2) 2 [ 2 ] After push(14) 2 / 14 [ 2 14 ] After push(4) 2 / \ 14 4 [ 2 14 4 ] After push(13) 2 / \ 13 4 / 14 [ 2 13 4 14 ] After push(6) 2 / \ 6 4 / \ 14 13 [ 2 6 4 14 13 ] After push(10) 2 / \ 6 4 / \ / 14 13 10 [ 2 6 4 14 13 10 ] After push(8) 2 / \ 6 4 / \ / \ 14 13 10 8 [ 2 6 4 14 13 10 8 ] After push(11) __ 2 __ __/ \__ 6 4 / \ / \ 11 13 10 8 / 14 [ 2 6 4 11 13 10 8 14 ] After push(12) __ 2 __ __/ \__ 6 4 / \ / \ 11 13 10 8 / \ 14 12 [ 2 6 4 11 13 10 8 14 12 ] After push(3) __ 2 __ __/ \__ 3 4 / \ / \ 11 6 10 8 / \ / 14 12 13 [ 2 3 4 11 6 10 8 14 12 13 ] After push(9) __ 2 __ __/ \__ 3 4 / \ / \ 11 6 10 8 / \ / \ 14 12 13 9 [ 2 3 4 11 6 10 8 14 12 13 9 ] After push(1) __ 1 __ __/ \__ 3 2 / \ / \ 11 6 4 8 / \ / \ / 14 12 13 9 10 [ 1 3 2 11 6 4 8 14 12 13 9 10 ] After push(0) __ 0 __ __/ \__ 3 1 / \ / \ 11 6 2 8 / \ / \ / \ 14 12 13 9 10 4 [ 0 3 1 11 6 2 8 14 12 13 9 10 4 ] After push(7) __ 0 __ __/ \__ 3 1 / \ / \ 11 6 2 7 / \ / \ / \ / 14 12 13 9 10 4 8 [ 0 3 1 11 6 2 7 14 12 13 9 10 4 8 ] After push(5) __ 0 __ __/ \__ 3 1 / \ / \ 11 6 2 5 / \ / \ / \ / \ 14 12 13 9 10 4 8 7 [ 0 3 1 11 6 2 5 14 12 13 9 10 4 8 7 ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing pop (requires constructor to be working): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original Heap: __ 0 __ __/ \__ 3 1 / \ / \ 11 6 2 5 / \ / \ / \ / \ 13 12 14 9 4 10 7 8 [ 0 3 1 11 6 2 5 13 12 14 9 4 10 7 8 ] After pop(0) __ 1 __ __/ \__ 3 2 / \ / \ 11 6 4 5 / \ / \ / \ / 13 12 14 9 8 10 7 [ 1 3 2 11 6 4 5 13 12 14 9 8 10 7 ] After pop(1) __ 2 __ __/ \__ 3 4 / \ / \ 11 6 7 5 / \ / \ / \ 13 12 14 9 8 10 [ 2 3 4 11 6 7 5 13 12 14 9 8 10 ] After pop(2) __ 3 __ __/ \__ 6 4 / \ / \ 11 9 7 5 / \ / \ / 13 12 14 10 8 [ 3 6 4 11 9 7 5 13 12 14 10 8 ] After pop(3) __ 4 __ __/ \__ 6 5 / \ / \ 11 9 7 8 / \ / \ 13 12 14 10 [ 4 6 5 11 9 7 8 13 12 14 10 ] After pop(4) __ 5 __ __/ \__ 6 7 / \ / \ 11 9 10 8 / \ / 13 12 14 [ 5 6 7 11 9 10 8 13 12 14 ] After pop(5) __ 6 __ __/ \__ 9 7 / \ / \ 11 14 10 8 / \ 13 12 [ 6 9 7 11 14 10 8 13 12 ] After pop(6) __ 7 __ __/ \__ 9 8 / \ / \ 11 14 10 12 / 13 [ 7 9 8 11 14 10 12 13 ] After pop(7) 8 / \ 9 10 / \ / \ 11 14 13 12 [ 8 9 10 11 14 13 12 ] After pop(8) 9 / \ 11 10 / \ / 12 14 13 [ 9 11 10 12 14 13 ] After pop(9) 10 / \ 11 13 / \ 12 14 [ 10 11 13 12 14 ] 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!