您的位置:首页 > 其它

层次遍历二叉树

2011-04-09 20:37 218 查看
//====利用 "先进先出 "(FIFO)队列,按层次遍历二叉树==========
void Levelorder(BinTree T)
{
int front=0,rear=1;
BinTNode *cq[Max],*p; //定义结点的指针数组cq
cq[1]=T; //根入队
while(front!=rear)
{
front=(front+1)%NodeNum;//NodeNum为结点总数
p=cq[front]; //出队
printf( "%c ",p-> data); //出队,输出结点的值
if(p-> lchild!=NULL)
{
rear=(rear+1)%NodeNum;
cq[rear]=p-> lchild; //左子树入队
}
if(p-> rchild!=NULL)
{
rear=(rear+1)%NodeNum;
cq[rear]=p-> rchild; //右子树入队
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: