#include #include "Queue.h" void BreadthFirst(Tree T, void process(TreeElementType E))/* L*/ { Queue Q; Tree subT; /*.*/ if( T != NULL ) /*A*/ { Q = NULL; /*l*/ addq(T, &Q); /* i.e. Q = */ /*l*/ /*i*/ while( !emptyq(Q) ) /*s*/ { popq(&subT, &Q); /*o*/ /*n*/ if(subT->left != NULL) addq(subT->left, &Q); /* addq any */ if(subT->right != NULL) addq(subT->right, &Q); /* children */ process(subT->elt); }/*while*/ }/*if*/ }/*BreadthFirst*/ /* Breadth First Traversal of a Tree */