如何将元素插入 BST
How can i insert element an element into BST?
我必须使用两个类(1-BSTnode,2-BSTFCI(构建一个二叉搜索树,我遇到了(插入(函数的问题。当我对这个函数进行测试时,它给了我运行时错误
谁能帮我?
这是BSTnode的定义:
template <class T>
class BSTnode
{
public:
T data;
BSTnode<T>* left;
BSTnode<T>* right;
BSTnode()
{
left = right = NULL;
}
};
这是BSTFCI的定义:
template <class T>
class BSTFCI
{
public:
BSTnode<T>* root;
};
这就是插入功能。
template <class T>
BSTnode<T>* BSTFCI<T>::Insert(BSTnode<T>*& node,T value)
{
/// If the tree still empty.
if(node == NULL)
{
node = create_new_node(value);
}
if(value < node->data)
{
node->left = Insert(node->left, value);
}else if(value > node->data)
{
node->right = Insert(node->right,value);
}
return node;
}
主要功能
int main()
{
BSTFCI<int> o;
o.Insert(o.root,6);
return 0;
}
我实现并检查了您的代码。我发现的唯一问题是您尚未在 BSTFCI 构造函数中将根的值初始化为 NULL。您需要编写 BSTFCI 的构造函数,并将根的初始值赋值为 NULL。
class BSTFCI
{
public:
BSTnode<T>* root;
BSTnode<T>* Insert(BSTnode<T>*& node,T value);
BSTFCI()
{
root = NULL;
}
};
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- BST插入,删除,搜索
- BST插入的这段代码有什么问题?
- 在 BST 中插入节点时出现逻辑错误
- 如何将元素插入 BST
- C++BST树中插入一个字符串
- 将节点插入 BST
- 将节点正确插入C 中的BST
- 插入二进制树(非BST)不起作用
- 插入到 BST 会导致错误C++
- C++中的迭代 BST 插入
- 将值插入到两个排序不同的 BST 中
- BST 中的隔离错误迭代插入
- 在先前在 BST 中删除节点后尝试插入时出现运行时错误
- BST 插入递归 C++
- 在C++中将破折号删除的文件中的数字插入 BST
- c++迭代插入到二叉搜索树BST
- 帮助插入第一个BST
- 帮助使用BST插入函数