题目描述: 二叉树采用二叉链表存储,设计一个非递归算法求二叉树的高度。
核心代码: (全部代码请参照本博客判断完全二叉树)
void Leveltravel(BiTree Bt)
{
if(Bt)
{
int max;
Sq q;BiTree e;
InitSq(q);
Bt->f=1;
InSq(q,Bt);//根节点入队列
while(!Isempty(q))//
{
OutSq(q,e);
printf("%c ",e->data);
if(e->lchild)
{
InSq(q,e->lchild);//
e->lchild->f=max=e->f+1;
}
if(e->rchild)
{
InSq(q,e->rchild);//
e->rchild->f=max=e->f+1;
}
}
printf("\n深度为=%d\n",max);
}
}