怎么实现二叉树的后序遍历迭代器啊?

Robiplus 2008-11-28 07:31:03
最近看了本Java版的数据结构 迭代器在原来看的书上没有..

现在做出了前序、中序的感觉就是非递归拟栈来实现后序遍历迭代器... 但是没思路搞不出来...

希望大家给点思路哈!先谢谢了
...全文
291 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jermaine 2008-12-02
  • 打赏
  • 举报
回复

void Postorder(BinaryNode <T> * t)
{ Stack <StkNode<T>>s(10);
StkNode<T> Cnode;
BinaryNode<T> * p = t;
for( ; ; )
{ 1)while (p!=NULL)
{ Cnode.ptr = p; Cnode.tag = 0; s.push(Cnode);
p = p->Left;
}
2)Cnode = s.pop( ); p = Cnode.ptr;
3)while ( Cnode.tag = = 1)
{ cout << p->element;
if ( !s.IsEmpty( ))
{ Cnode = s.pop( ); p = Cnode.ptr; }
else return;
}
4)Cnode.tag = 1; s.push(Cnode); p = p->Right;
}//for
}


Jermaine 2008-12-02
  • 打赏
  • 举报
回复
弄个栈出来。。。模拟递归。。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧