题目描述:
已知一个按先序输入的字符序列,如abd,eg,cf,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。
//建立二叉树的过程已在 文章:遍历二叉树 中写过,在这里就省略了
void LevelOrder(BiTree T)
{
InitQueue(Q); //初始化辅助队列
BiTree p;
EnQueue(Q, T); //将根结点入队
while(!IsEmpty(Q)){ //队列不空则循环
DeQueue(Q, p); //队头结点出队
visit(p); //访问出队结点
if(p->lc)
EnQueue(Q, p->lc); //左子树不空,则左子树根结点入队
if(p->rc)
EnQueue(Q, p->rc); //右子树不空,则右子树根结点入队
}
}