【发布时间】:2016-06-02 07:22:48
【问题描述】:
我有一个要向其传递节点树的函数。 该函数应该以这种形式打印节点树:
root
node
node
node
node
node
node
node
node
我似乎不知道该怎么做。 这是我到目前为止得到的:
void IterateTree(Node &rNode )
{
printf("\t\n");
std::cout << rNode.Name() << std::endl;
int i = 0;
for (std::list<Node>::iterator it = rNode.childs.begin(); it != rNode.childs.end(); ++it)
{
printf("%d: ", i);
IterateTree(*it);
printf("\b");
i++;
}
}
我的问题是:有没有一种标准的方法来迭代和打印具有正确缩进的节点树?
【问题讨论】:
-
对我来说看起来不错,只需添加另一个参数“深度”,这样您就知道要缩进多少子级