Algorithm 函数将节点添加到树中

Algorithm 函数将节点添加到树中,algorithm,c++-cli,binary-search-tree,Algorithm,C++ Cli,Binary Search Tree,这个问题与二叉搜索树有关。下面是我正在使用的节点的定义 struct _Node { _Node *Parent; int Data; _Node *Left; _Node *Right; }; 下面是创建根后添加节点的函数的定义 void AddNode(_Node *Incoming, _Node *currentNode) { if(!currentNode) { curre

这个问题与二叉搜索树有关。下面是我正在使用的节点的定义

struct _Node
{
    _Node *Parent;
    int Data;
    _Node *Left;
    _Node *Right;
};
下面是创建根后添加节点的函数的定义

void AddNode(_Node *Incoming, _Node *currentNode)
{

            if(!currentNode)
            {
                currentNode = Incoming;
            }
            else if(currentNode->Data >= Incoming->Data)
            {
                Incoming->Parent = currentNode;
                AddNode(Incoming, currentNode->Left);
            }
            else if(currentNode->Data < Incoming->Data)
            {
                Incoming->Parent = currentNode;
                AddNode(Incoming, currentNode->Right);
            }

}
问题: 一旦我退出addnode函数,我发现根节点并没有将左或右子节点设置为Node2。根据我的说法,每次我应该正确地将节点添加到根中时,都会传递指向节点的指针。这并没有发生。你能帮我弄清楚我犯了什么错误吗?

试试看

AddNode(Incoming, currentNode->Left);
而不是

AddNode(Incoming, Incoming->Left);

我的天啊,我犯了这么愚蠢的错误。。。我很抱歉这么跛脚…我想我该结束了。。谢谢你的帮助嘿,女孩,这个改变仍然不起作用。实际上,之前我也是这样做的,但是重新定义了这个函数,并产生了一个复制粘贴错误。这仍然不起作用尝试通过引用传递当前节点指针
void AddNode(\u node*Incoming,\u node*¤tNode)
No它也不起作用。给出了大量的编译器错误。
AddNode(Incoming, Incoming->Left);