我最近完成了为我正在从事的项目实施的二叉搜索树。进展顺利,我学到了很多。但是,现在我需要实现一个常规的二叉树......由于某种原因让我很难过。
我正在寻找一种方法来执行我的 InsertNode 功能..
通常在 BST 中,您只需检查 data < root 然后向左插入,反之亦然。但是,在正常的二叉树中,它只是从左到右填充,一次一层。
谁能帮我实现一个函数,该函数只是从左到右无特定顺序将新节点添加到二叉树?
这是我的 BST 插入:
void Insert(Node *& root, int data)
{
if(root == nullptr)
{
Node * NN = new Node;
root = NN;
}
else
{
if(data < root->data)
{
Insert(root->left, data);
}
else
{
Insert(root->right, data);
}
}
}