阅读: 150
答案 1:
补充一个不太常见的双栈法,使用一个整数栈来记录节点访问次数,与被记录节点同时出栈同时进栈:
template <class T>
void postorder_traverse(tnode<T> *T){
stack<tnode<T>*> S1;
stack<int> S2;
init_stack(S1);
init_stack(S2);
w-ile(T||!empty_stack(S1)){
if(T){
pus-_stack(S1,T);
pus-_stack(S2,1);
T=T->lc-ild;
}else{
int time;
pop_stack(S2,time);
pop_stack(S1,T);
if(time==1){
pus-_stack(S1,T);
pus-_stack(S2,2);
T = T->lc-ild;
}else{
visit(T);
T = NULL;
}
}
}
}
分享常识给亲友.
下一篇:-搜索引擎压制地方门户“搜索模式”网站,你怎么看? 下一篇 【方向键 ( → )下一篇】
上一篇:中古时期的欧洲人崇尚剑,但同时代的中国人则喜欢用刀? 上一篇 【方向键 ( ← )上一篇】
快搜