这个失败的C++字符串比较,我缺少什么?
我试图将一个字符串与一个二进制搜索树进行比较,下面的代码在第一个搜索树上运行,但是在其他每个搜索树上都失败了,尽管我已经检查了以确保它递归地检查了树。谢谢这个失败的C++字符串比较,我缺少什么?,c++,string,binary-search-tree,C++,String,Binary Search Tree,我试图将一个字符串与一个二进制搜索树进行比较,下面的代码在第一个搜索树上运行,但是在其他每个搜索树上都失败了,尽管我已经检查了以确保它递归地检查了树。谢谢 bool BST::compareIt(Node* current, string name) { if (name == current->title) return true; if (current->left != NULL) compareIt(current->lef
bool BST::compareIt(Node* current, string name)
{
if (name == current->title)
return true;
if (current->left != NULL)
compareIt(current->left, name);
if (current->right != NULL)
compareIt(current->right, name);
return false;
}
I您需要返回递归调用的结果,例如
if (current->left != NULL)
return compareIt(current->left, name);
右手分支也是如此。就我个人而言,我不喜欢使用字符串。。我用char*代替…@mlwn为什么?字符串怎么了?大多数时候,我为有限的处理器编码,我喜欢控制使用的内存。。。我想现代音乐中的弦乐没有问题machines@mlwn这很有趣,但不太可能有助于澄清这个问题或帮助读者了解这个问题。@aschepler。。。我甚至对你的评论投了赞成票。。。你说得对,你真是天赐之物。显而易见的是我面前的东西,我没有看到。谢谢你指出!不用担心,每个人都会这样。如果它对你有用,请考虑接受答案。