二叉树后序遍历非递归算法

来源:互联网 发布:怎样卸载苹果软件 编辑:程序博客网 时间:2024/05/17 16:45
void followvisit(struct btree *bt)
{//后序遍历的非递归算法
struct btree *p,array[20];
int top=0;
p=bt;
while(top>=0||p->num)
{
if(p->num)
{
array[top++]=*p;
p=p->lchild;
}
else
{
p=&array[--top];
if(!p->rchild)
{
printf("%c",p->num);
top--;
p=array[top];//?????????????????
}
else
{
top++;
p->rchild;
}
}
}

}



//以上代码存在一个bug,产生异常。敬请同仁注意