我最近完成了一个二叉搜索树项目的实现,进展顺利并学到了很多。然而,我需要实现一个常规的二叉树......这让我感到困惑。
我正在寻找一种方法来执行我的InsertNode函数..
通常在BST中,只需检查数据是否小于根节点,然后插入左侧等等。然而,在普通的二叉树中,它只是从左到右、一层一层地填充。
有人能帮我实现一个函数,将新节点无序地添加到二叉树中吗?
这是我对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);
}
}
}