二叉树的层序遍历
思路:使用队列 ,首先将根节点进队,然后出队并输出,把该节点的左右子树分别入队,直到队列为空时循环结束
void LayerOrder(PBiTree root)
{
queue<PBiTree> q;
PBiTree p;
if (root == NULL)
{
return;
}
q.push(root);
while (!q.empty())
{
p = q.front();
q.pop();
cout << p->date;
if (p->lchild)
{
q.push(p->lchild);
}
if (p->rchild)
{
q.push(p->rchild);
}
}
}