我试图在二进制搜索树中插入一个新元素,我编写了以下函数,但它似乎无法正常工作,我似乎也无法理解为什么。
码:
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] 删除。
我来说两句