3

我想在通用树上定义一个迭代器。这是二进制之一的示例(来自维基百科):

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

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

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

'*' - 表示该节点被反向访问。

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

你会采取哪种方法来处理这个问题?

4

0 回答 0