繁体   English   中英

递归搜索n叉树中的元素

[英]Search for an element in a n-ary tree recursively

我有一棵树class,它有一个嵌套的私有节点class。
我编写了一个方法 ( Search(T elem) ),它搜索作为参数给出的元素是否存在于树中并发送 boolean。
但是我的问题是,如果元素存在于我的树的第一个分支中,则此方法仅发送 true,如果不存在,则发送 false。 我一定在递归调用的某个地方弄错了。

例如,在 main 中,我调用search('C')并且我得到了错误,尽管我应该得到正确的结果,因为 C 在我的树的第二个分支中。
PS:我还应该提到,在这个 class 中,必须禁用复制运算符和构造函数,除了原始指针(无向量或智能指针)之外我不能使用任何东西。
提前谢谢你。

你不应该返回children[i]->search(elem); 直接地。 因此,如果在第一个分支中找不到elem ,它将返回false ,它永远不会超过第一个孩子。 只有找到时直接返回那里。 否则尝试其他孩子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM