我建立一个二叉搜索树。 现在我有一个节点添加到树中的一个问题。
void BinaryTree::add(int value, Node* node) {
if(!node)
node = new Node(value);
else if(node->key < value)
this->add(value, node->rightNode);
else if(node->key > value)
this->add(value, node->leftNode);
}
此代码似乎并不当我打电话给工作:
BinaryTree test;
test.add(4, test.root);
test.add(1, test.root);
test.add(5, test.root);
test.add(2, test.root);
test.add(3, test.root);
test.add(7, test.root);
test.add(6, test.root);
第一添加通话后,树“测试”的根源仍然是空的。 我应如何更改代码,这样,当我把它添加将被更新和节点进入正确的位置的树? 非常感谢你!