按层次遍历二叉树

Posted on 2016-09-20 22:31  YangtzeW  阅读(244)  评论(0编辑  收藏  举报

void traverse(bitree bt)
{
 linkqueue q;
 bitree p;
 initqueue(q);      //初始化一个空的队列
 p=bt;
 enqueue(q,p);      //入队
 while(queueempty(q)!=1)
 {
  dequeue(q,p);      //出队
   if(p->lchild!=NULL)
   enqueue(q,p->lchild);             //访问左子树
  if(p->rchild!=NULL)
   enqueue(q,p->rchild);             //访问右子树
 }
 printf("\n");
}