我正在创建一个二叉树程序,到目前为止我已经实现了很多功能。我现在想添加一个函数来创建一个空树,但我还是无法弄清楚如何做到这一点。
作为我所拥有的一个例子,这里是我创建一个具有初始值的树的代码:
BST::BST() {
root = nullptr;
}
void BST::createWithRoot(int key) {
createWithRootPrivate(key, root);
}
void BST::createWithRootPrivate(int key, node* Ptr) {
if (root == nullptr) {
root = createLeaf(key);
}
}
BST::node* BST::createLeaf(int key) {
node* n = new node;
n -> key = key;
n -> left = nullptr;
n -> right = nullptr;
return n;
}
我曾经尝试过这样的事情,但不出所料这不起作用:
BST::node* BST::createLeaf(int key) {
node* n = new node;
n -> key = nullptr;
n -> left = nullptr;
n -> right = nullptr;
return n;
}
有人有什么建议吗?我确信这很简单,但我对C ++和二叉树很新。
答案 0 :(得分:0)
你必须简单地添加一个像这样的
的void构造函数方法BST::BST(){
root = nullptr;// as says Klamer
}