创建空二进制树函数

时间:2015-03-27 21:04:58

标签: c++ binary-tree

我正在创建一个二叉树程序,到目前为止我已经实现了很多功能。我现在想添加一个函数来创建一个空树,但我还是无法弄清楚如何做到这一点。

作为我所拥有的一个例子,这里是我创建一个具有初始值的树的代码:

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 ++和二叉树很新。

1 个答案:

答案 0 :(得分:0)

你必须简单地添加一个像这样的

的void构造函数方法
BST::BST(){
    root = nullptr;// as says Klamer
}