如何解决B ++中的BST,添加节点时返回true或false
我正在学习C ++。
我想将BST中add函数的返回类型设置为bool,如果树中已经存在相同的项目,则返回true,而将其添加到树中时返回false。
这是代码,关于如何实现此目标的任何建议?
node* insert(string content,node* t)
{
if(t == NULL)
{
t = new node;
t->data = content;
t->left = t->right = NULL;
}
else if(content < t->data)
t->left = insert(content,t->left);
else if(content > t->data)
t->right = insert(content,t->right);
return t;
}
BST :: BST() {
root = NULL;
}
void BST :: add(string content) {
root = insert(content,root);
}
有什么建议吗?这段代码也是从BST Implementation in C++
引用的解决方法
最简单的方法是进行搜索,以标识要插入的父节点。我可以向您显示元组,但现在更简单的是使用out参数来指示“树中已有值”的条件是否为out参数。
Element discountDate = doc.selectFirst("div.price-availability");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。