我正在使用这个库来保存有关树结构的信息:
http://www.datasoftsolutions.net/tree_container_library/overview.php
这是我的 C++ 代码的简化版本:
#include "tcl/sequential_tree.h"
// Node has some data which is not important now
typedef sequential_tree<Node> gametree_t;
typedef sequential_tree<Node>::iterator gametree_iter;
int main() {
gametree_t gametree;
gametree_iter gametree_it;
gametree_it = gametree.insert(Node(0));
gametree_it->insert(Node(1));
gametree_it->insert(Node(2));
gametree_it = gametree_it->insert(Node(3));
gametree_it->insert(Node(4));
gametree_it = gametree_it->insert(Node(5));
gametree_it->insert(Node(6));
return 1;
}
树长这样
0
|_ 1
|_ 2
|_ 3
|_4
|_5
|_6
我正在尝试创建一个函数,给定 Node(6) 将遍历所有通向根节点的节点,即6,5,3,0。这是我在 C++ 中的第一个项目,我无法理解指针。可能是几行 C++,但我试图这样做几个小时但没有成功。任何帮助将不胜感激。
像这样的东西有效,但它必须与许多级别一起工作,而不仅仅是 4:
gametree_it->get()->get_value();
gametree_it->parent()->get()->get_value();
gametree_it->parent()->parent()->get()->get_value();
gametree_it->parent()->parent()->parent()->get()->get_value();