尝试将二叉搜索树节点设置为整数

时间:2016-03-10 04:56:23

标签: integer binary-search-tree nodes

我的代码有两个错误,我无法弄清楚原因。我试图将一个节点插入树中,但它不允许我将左右节点设置为整数值。请帮助,我的计划的这部分将在星期六到今天是星期三。

void Bst::Insert(TreeNode *&node, int item) {

if (item < node->data) {
    if (node->left == NULL)
        node->left = item;
    else
        Insert(node->left, item);
}

if (new_node->data > root->data) {
    if (node->right == NULL)
        node->right = item;
    else
        Insert(node->right, item);
}

}

1 个答案:

答案 0 :(得分:0)

你的代码存在很多问题,我在下面写了c ++代码应该是什么样子,你可能想要调查一些小错误。

TreeNode * Bst::Insert(TreeNode *node, int item) {
    if (node == NULL) {
        node = (struct TreeNode*)malloc(sizeof(struct TreeNode));
        node->data = item;
        node->left = NULL;
        node->right = NULL;
    }
    else if (item < node->data) {
        node->left = Insert(node->left, item);
    }
    else if (item > node->data) {
        node->right = Insert(node->right, item);
    }
    return node;
}

我编辑了我认为可能有用的更改,您可能还想在标题中包含malloc.h。