节点中的二进制搜索树数据始终为零
Binary Search Tree Data in Nodes always is zero
我在二进制搜索树上工作了一段时间,函数似乎可以工作,但我遇到了与链表程序分配时相同的问题。我的节点似乎不想存储数据。我搞不清问题出在哪里。当我打印时,它只打印零,正确的零数,但仍然只是零。这是我的节点代码。我应该提到这是C++。
class Node{
friend class BST;
private:
int data;
Node *left;
Node *right;
public:
Node(int data);
};
我的添加功能是:
void BST::add(Node* node, int d) {
if (root == NULL) {
root = new Node(d);
}
else if (d <= node->data) {
if (node->left == NULL) {
node->left = new Node(d);
}
else {
add(node->left, d);
}
}
else if (d > node->data) {
if (node->right == NULL) {
node->right = new Node(d);
}
else {
add(node->right, d);
}
}
}
为什么它不存储数据?
请将您的Node::Node(int)
修改为:
Node::Node(int data) {
left = NULL;
right = NULL;
this->data = data;
}
您在评论中描述的Node::Node()
根本不存储data
;并且您的BST::add()
依赖于它将值存储到Node
s中。
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 正在尝试重载二进制搜索树分配运算符
- 使用C++创建特殊的二叉搜索树
- 在递归二叉搜索树中搜索
- 在二叉搜索树中插入时出现分段错误
- C++二叉搜索树模板从函数返回节点
- 我可以在没有堆栈的情况下在二叉搜索树中实现迭代器吗?
- 在二叉搜索树C++中计算平均值
- 如何打印在二叉搜索树中找到的数据?
- 查找存储在二叉搜索树的所有非叶子中的数据总和?(返回整数的独立递归函数
- C++ Eclipse:二叉搜索树节点>数据=变量似乎不起作用
- 二进制搜索树插入垃圾数据
- 二叉搜索树插入数据问题
- 获取成功的二进制搜索树C 数据结构
- 节点中的二进制搜索树数据始终为零
- 二叉搜索树问题和数据结构问题
- 通过头文件函数将遍历的数据从二进制搜索树加载到Vector中
- 给定一个二叉搜索树和一个数字,找到一个路径,其节点的数据被添加为给定的数字。
- C++二叉搜索树比较节点的数据并删除重复项
- 数据结构- c++二叉搜索树-复杂类型