node *p=root;
stack<node*>st;
node *r=NULL;
while(p||!st.empty()){
if(p){
st.push(p);
p=p->l;
}
else{
p=st.top();
if(p->r&&p->r!=r)
{p=p->r;
}
else{
cout<<st.top()->data<<endl;
st.pop();
r=p;
p=NULL;
}
}}
后序遍历的非递归写法
最新推荐文章于 2023-11-22 20:43:33 发布