二叉樹後序遍歷非遞歸算法

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,產生異常。敬請同仁注意

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章