Print one level at a time
while ( nodeCount ) { Node * node = q . front ( ) ; printf ( " % d ▁ " , node -> data ) ; q . pop ( ) ; if ( node -> left != NULL ) q . push ( node -> left ) ; if ( node -> right != NULL ) q . push ( node -> right ) ; nodeCount -- ; }