在二叉搜索树中插入新元素

我试图在二进制搜索树中插入一个新元素,我编写了以下函数,但它似乎无法正常工作,我似乎也无法理解为什么。

码:

node* new_node(int data)
{
    node* ptr=new node();
    ptr->data=data;
    ptr->left=NULL;
    ptr->right=NULL;
    return ptr;
}
void insert(node* root,int d)
{
    if(root==NULL)
        root=new_node(d);
    else if(d<root->data)
        insert(root->left,d);
    else
        insert(root->right,d);
}
黑暗公主

试试这个-

node* insert(node* root,int d)
{
    if(root==NULL)
        root = new_node(d);
    else if(d<root->data)
        root->left = insert(root->left,d);
    else
        root->right = insert(root->right,d);
    return root;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章