我已经实现了一个函数,在像这样插入节点后显示 avl 树
template<class nodetype>
void AVLtree<nodetype>::display() const
{
display(Proot);
}
template<class nodetype>
void AVLtree<nodetype>::display(Node<nodetype> * ptr) const
{
if(ptr==0)
return ;
cout<<ptr->value<<" ";
display(ptr->Pleft);
display(ptr->Pright);
}
编译后没有错误,程序可以运行,但屏幕上没有任何打印
请帮帮我....!! 谢谢
最佳答案
(假设您的树构建正确)。屏幕输出通常是行缓冲的。您需要将 std::endl
输出到 std::cout
(或至少 '\n'
字符),以便某些内容出现在屏幕。
当然,如果您的树构建不正确,根指针可能为空,并且由于显而易见的原因(只是猜测)不会打印任何内容。
最后,即使您的树构建正确,但所有数据 (ptr->value
) 都只是空字符串(例如)或仅包含空格,这也难怪你在屏幕上看不到任何东西。
关于c++ - 没有工作功能没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625943/