【发布时间】:2020-06-25 16:51:19
【问题描述】:
我想打印树中的所有节点(低级别的节点首先打印,对于具有相同输出级别的节点,首先打印具有较小值的节点) 例如:输入
预期输出:10 6 20 1 8 18 21 7 25。 我试着这样编码
void print_Nodes(Node *root)
{
if(root == nullptr) return;
cout << root->value << " ";
if(root->left!=nullptr){
cout << root->left->value << " ";
if(root->right!=nullptr){
cout << root->right->value << " ";
}
}
print_Nodes(root->right);
print_Nodes(root->left);
}
但输出是:10 6 20 6 1 8 1 8 7 7 20 18 21 18 21 25。 你能指导我如何解决这个问题吗?
【问题讨论】:
-
这个问题可以通过一点点调试变得不必要。
-
@user4581301 你能解释一下吗?
-
评论者的意思是,您可以使用调试器单步执行代码以查看每一行的作用。虽然,您甚至不需要使用调试器,但每一行的结果很容易出现在您的屏幕上
标签: c++ tree binary-tree tree-traversal