void LevelOrderTraverse(BiTree T,Status(*Visit)(TElemType))
{
/* 采用二叉链表存储结构,Visit是对数据元素操作的应用函数。*/
/* 层序遍历二叉树T算法(利用队列),对每个数据元素调用函数Visit */
SqQueue q;
QElemType p;
if(T)
{
InitQueue(&q);
EnQueue(&q,T);
while(!QueueEmpty(q))
{
DeQueue(&q,&p);
Visit(p->data);
if(p->lchild!=NULL) EnQueue(&q,p->lchild);
if(p->rchild!=NULL) EnQueue(&q,p->rchild);
}
printf("/n");
}
}
二叉树的层序遍历
最新推荐文章于 2025-03-17 22:54:54 发布