我有一个存储密钥及其值的树。这是我的查找操作:
c 5
这在尝试查找树的根时工作正常。例如,以下是输入和查找键的一些输出:
e 5
生成一个带有单个密钥的根节点。 (默认值为0.0)
find()
调用我的{{1}}函数并输入5,4,8,9 ..作为键。任何人都可以告诉我为什么,即使键输出为匹配,它们也不会返回1?
提前致谢!
答案 0 :(得分:5)
如果在根目录中找不到密钥,则在左或右子项上递归调用方法,但忽略结果并返回0
。尝试
return left.find(k);
和
return right.find(k);
此外,您似乎正在返回1
而不是值;我这里只看到与密钥相关的代码。您可能希望在此处返回值而不是1
。此外,0
可以是有效值吗?如果是这样,则返回0
可能意味着您找到了0
,或者您找不到匹配项。