【发布时间】:2016-03-29 17:50:21
【问题描述】:
期望的行为
使用额外的选项卡打印每个级别的 BST,如下所示:
level1
level2
level0
level2
level1
level2
实际行为
level1
level2
level0
level2
level1
level2
这是我当前的代码,我似乎无法弄清楚我哪里出错了:
void AVLTree::printHelp(Node * node)
{
if (node == 0) {
return;
}
printHelp(node->left);
indent = "";
for (size_t i = 1; i < calculateHeight(node); i++)
{
indent += " ";
}
cout << '\n' << indent << node->value;
printHelp(node->right);
}
【问题讨论】:
-
所有变量的值是多少?
-
indent 只是一个空字符串,我用来不断添加空格以显示节点的级别
-
什么是left、value和node?另外,printHelp() 有什么作用?
-
您能否也显示您发布的代码打印的是什么?
-
@RookieProgrammer 实际上没有足够的上下文来诊断您的问题。请在您的问题中发布minimal reproducible example。
标签: c++ printing traversal inorder