1.算法思想:
首先根结点入队,当队列非空时,重复操作以下两个步骤:
(1)队头结点出队,并访问出队结点。
(2)出队结点的非空左右孩子依次入队。
2.代码实现:
void LevelOrder(BiTree root){
SeqQueue *Q;
BiTree p;
InitQueue(Q);
EnterQueue(Q,root);
while(!IsEmpty(Q)){
DeleteQueue(Q,&p);
visit(p->data);
if(p->Lchild!=NULL){
EnterQueue(Q,p->Lchild);
}
if(p->Rchild!=NULL){
EnterQueue(Q,p->Rchild);
}
}
}