Tree
Tree
//BFS
template<class T>
void LevelOrder(BinaryTreeNode<T> *t){
LinkedQueue<BinaryTreeNode<T>*> Q;
while(t){
visit(t);
if(t->LeftChild) Q.Add(t->LeftChild);
if(t->RightChild) Q.Add(t->RightChild);
try{Q.Delete(t);}
catch{OutOfBounds} {return;}
}
}
//Test your code in main
BinaryTreeNode<int> x,y,z;
x.data=1;
y.data=2;
z.data=3;
x.LeftChild=&y;
x.RightCild=&z;
InOrder(&x);
cout<<endl;
//pre,post,level Same