二进制搜索树插入代码中的错误

时间:2016-11-09 23:51:00

标签: c++ data-structures binary-search-tree

我试图使用while循环插入二叉树。然而它似乎有一个错误:它只需要第一个数字,而不会采取其余的。我不知道我犯了什么错误。

我创建了以下代码:

void BTC::Insert(int Data)

{Node *newNode = new Node;



if (head == 0)
{
    head = node;
}
else
{
    Node* ptr = head;

    if(ptr->childs>2)
    {   
        if (Data > ptr->data)
        {
            ptr->right = node;
        }
        else if (Data <= ptr->data)
        {
            ptr->left = node;
        }
        ptr->childs++;
    }
    else
    {
       While(ptr->childs==2)
        {
        if (Data > ptr->data)
           {
             ptr = ptr->right;
           }
        else if (Data <= ptr->data)
           {
             ptr = ptr->left;
           }
        }
    }
}

class Node
{
public:
    int data;
    Node* right;
    Node* left;
    int childs;
    Node() : right(0), left(0)
    {}

    Node(int data) : data(data), right(0), left(0),childs(0)
    {}


}
}

0 个答案:

没有答案