告诉我两者之间的区别.它是在树上插入的C 代码

Tell me the difference between both. Its is c++ code of insertion in tree

本文关键字:插入 代码 两者之间 区别 告诉我      更新时间:2023-10-16

检查两个功能,并告诉我它们之间的区别。谢谢你告诉我两个指针的区别

void binaryTree::insert1(binaryNode *root,string value)
{
    if(root==NULL)
        root = CreateNode(value);
    else if( value > root->data )
        insert1 (root->right,value);
    else if( value < root->data )
        insert1 (root->left,value);
}

void binaryTree::insert2(string value)
{
    insert2(root,value);
}
void binaryTree::insert2(binaryNode *&root,string value)
{    
    if(root==NULL)
        root = CreateNode(value);
    else if( value > root->data )
        insert2 (root->right,value);
    else if( value < root->data )
        insert2 (root->left,value);
}

区别在于,在第一个版本中,您通过value 传递指针,这意味着它被复制,并且在函数中您只修改复制。

在第二个版本中,您通过Reference 传递指针,这意味着对其进行更改将在功能之外反映。