将NULL根插入二进制搜索树

时间:2015-10-05 04:59:06

标签: c++ binary-search-tree

这是我的插入方法:

void BST::insert(Node* cur, int x) { //private method
    if (!cur) {
        cur = new Node(x);
    }

    else {
        if (x < cur->val) {
            if (cur->left) {
                insert(cur->left, x);
            }

            else {
                cur->left = new Node(x);
            }
        }

        else if (x > cur->val) {
            if (cur->right) {
                insert(cur->right, x);
            }

            else {
                cur->right = new Node(x);
            }
        }
    }
}

void BST::insert(int x) { //public method
    insert(root, x); //root is the root of the tree (private variable)
}

如果我的根指针不是NULL,它就可以工作。但是,如果根是NULL,则它不构造成节点指针。由于指针通过引用传递,不应该在函数范围之外保存吗?感谢

0 个答案:

没有答案