二叉树无效功能

时间:2014-12-12 10:29:47

标签: c++ binary-search-tree void

嘿伙计我应该编写一个将给定节点插入BT根目录的函数。  插入节点后,树应该仍然是BST的标准。  我的函数返回一个错误,表示" void值不被忽略,因为它应该在递归定义中。请给我一个错误的提示。

void InsertNode(Node* root, Node* node){
    if(root == NULL) {
            root = node;
    }

    else if(node->value <= root->value ){
        root->left = InsertNode(root->left,node);
    }

    else{
        root->right = InsertNode(root->right,node);
    }
    return ;
}

那么我该如何分配这个结构的给定节点:

struct Node{
int value; 
Node* left; 
Node* right; 
};

到空树根?

void InsertNode(Node* root, Node* node){
if (node->value==root->value) return;

if(node->value < root->value){
         root->left =  node;
         node->left++;
        }
if (node->value>root->value){
        root->right = node;
        node->right++;

 }
 }

所以现在我有了这个功能的想法,增加两个指针以通过树是正确的吗?

1 个答案:

答案 0 :(得分:1)

您正尝试将void分配给变量。这对编译器没有意义。

你的功能无论如何都不会奏效。将node分配给root不会做任何超出InsertNode功能主体的内容。