搜索非二进制树C 的功能
Search Function for a Non-Binary Tree C++
我已经为非二进制树编写了搜索字符串函数。我知道我的功能目前的形式不正确,我可以使用一些帮助来修复它。该函数返回节点指针,这是递归函数。Elem是一个Typedef字符串,子树是一个输入的节点指针。另外,树上的每个节点都有一个名为"孩子"的节点指针的向量。这就是child.size((指的是。
Node* AnimalTree::searchNodeString(const Elem& val, Node* subtree)
{
if (subtree->value == val || subtree->child.size() == 0)
{
return subtree;
}
else
{
for (int i = 0; i < subtree->value.size(); ++i)
{
subtree = subtree->child[i];
searchNodeString(val, subtree);
}
}
}
递归中相当普遍的错误:您需要返回或处理递归调用的返回值的东西。就您而言,这就是i
循环中searchNodeString
的呼吁。那时,您需要确定是否完成(可以立即返回(,或者您需要继续通过您的值搜索。
您如何处理不找到val
?
另外,您的递归电话是错误的。您不想更改i
循环中subtree
的值(或功能中的其他任何地方(。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 多态性和功能结合
- MPI 二进制文件 I/O 基本功能和性能问题
- 编写二进制文件模板功能
- 两个派生类(十六进制 二进制)的虚拟功能
- 搜索非二进制树C 的功能
- 简单的二进制搜索树非递归添加功能
- 编译后如何计算某些二进制功能(或基本块)的校验和
- 二进制树级别明智的打印功能不起作用
- 二进制搜索功能不起作用
- 将功能写入二进制文件
- C 功能具有3个参数,可在通用二进制输入中读取
- 为什么我的功能(在二进制树上)打印出意外的结果
- 二进制树搜索功能
- 二进制树高功能
- 平衡二进制搜索树搜索功能
- 使用boost范围转换适配器具有二进制功能
- 二进制搜索树(搜索功能)
- 需要帮助调试简单的更新二进制文件的功能