算法思想:
借助一个队列,先将二叉树根结点入队,然后出队,访问出队结点,如果它有左子树,则将左子树根结点入队;若它有右子树,则将右子树根结点入队。然后出队,访问出队结点…如此反复,直至队列为空。
void LevelOrder(BinaryTree *T)
{
queue<BinaryTree*> queue;
BinaryTree *cur = T;
queue.push(cur);
while(!queue.empty())
{
cur = queue.front();
queue.pop();
if(cur->lchild != NULL)
queue.push(cur->lchild);
if(cur->rchild != NULL)
queue.push(cur->rchild);
}
};