{//後序遍歷的非遞歸算法
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,產生異常。敬請同仁注意