我有这段代码,它是一个在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中插入一个节点,但是我不知道为什么它不起作用。我一直在试图找出答案,但我看不出有什么问题。请你帮助我好吗。谢谢
答案 0 :(得分:0)
您始终使用NULL而不是根调用recursiveInsert。
您需要初始化函数外部的根并创建指向它的指针。