//试给出二叉树自下而上、自左而右的遍历算法
void order(BinTree b)
{
InitQueue(Q); //初始化一个队列
InitStack(S); //初始化一个栈
EnQueue(Q,b); //入队列
while(!Empty(Q)) //循环条件为队列非空
{
DeQueue(Q,b); //队头元素出队
Push(S,b); //将出队元素放入栈中
if(b->lchild!=NULL)
EnQueue(Q,b->lchild);
if(b->rchild!=NULL)
EnQueue(Q,b->rchild);
}
while(!IsEmpty(S))
{
Pop(S,b);
visit(b->data);
}
}
试给出二叉树自下而上、自左而右的遍历算法
最新推荐文章于 2023-11-28 23:19:15 发布