C ++通用树迭代器 - 后向路径

时间:2013-04-25 11:00:19

标签: c++ tree iterator traversal

我想在一般树上定义一个迭代器。这是二进制文件的一个例子(来自维基百科):

迭代器应该允许我按预先遍历这个树结构。我可以使用std :: stack轻松实现这一点(从堆栈中获取节点,设置为当前节点,将其子节点添加到堆栈中)。

但我希望我也得到“落后”的节点。

应按以下顺序访问示例图片中的节点: F,B,A,B *,D,C,D *,E,D *,B *,F *,G,I,H

'*' - 表示在后面访问节点。

Iterator还应该存储信息,如果它是“正常”访问,或者是向后访问。

你会采取哪种方法来解决这个问题?

0 个答案:

没有答案