Mr.*_*bis 2 c++ binary-tree iterator data-structures
我想在我的Parametrized BinaryTree类中添加Bi-Directional Iterator(就像std :: set导出的Iterator),但是我无法想出任何算法.
简单的二叉树节点结构是,它包含三个指针,左,右,父:
使用给定的结构,您希望如下进行:
实际上,这实现了树的无堆栈顺序遍历.如果在迭代时没有更改树(不太可能的情况),或者您没有到父节点的链接,则可以在迭代器中显式维护堆栈.