在二进制搜索树中递归插入节点

时间:2019-04-25 12:41:29

标签: c++ search tree binary-search-tree

我有这段代码,它是一个在BST中递归插入节点的功能:

void recursiveInsert(treeNode *subroot, treeNode *newNode) {
if (subroot == NULL) {
    subroot = newNode;
} else {
    if (newNode->data < subroot->data) {
        recursiveInsert(subroot->left, newNode);
    } else if (newNode->data > subroot->data) {
        recursiveInsert(subroot->right, newNode);
    } else
        cout << "Node has been existed!" << endl;
}
return;
}

我想在BST中插入一个节点,但是我不知道为什么它不起作用。我一直在试图找出答案,但我看不出有什么问题。请你帮助我好吗。谢谢

1 个答案:

答案 0 :(得分:0)

您始终使用NULL而不是根调用recursiveInsert。

您需要初始化函数外部的根并创建指向它的指针。