一个小程序(出现死循环) 高手帮我改一下!!
void psorder(TreeNode<T>* b)//后序遍历非递归算法
{
stack<TreeNode<T>*> f;
TreeNode<T> *p;
int flag;
while(!f.stackempty())
{
while(b)
{
f.push(b);
b=b->Left();
}
p=NULL;
flag=1;
while(!f.stackempty()&&flag)
{
b=f.peek();
if(b->Right()==p)
{
cout<<b->data<<" ";
p=b;
}
else
{
b=b->Right();
flag=0;
}
}
}
}