Вставка 4 или 5 чисел в двоичное дерево, но на выходе получаю только 3 числа

Это часть школьной лабораторной работы по рекурсии и двоичному дереву. Если я хочу вставить 4 или 5 чисел и вывести результат, я получаю только 3 числа обратно. Вот код для вставки:

Node *insert(Node *t, int key) {
    Node *insertParent;
    Node *result=NULL;

    if (t!=NULL) {
        result=search(t,key,insertParent);
    } else {
        t=new Node;
        t->data=key;
        t->leftchild=NULL;
        t->rightchild=NULL;
        return t;
    }

    if (result==NULL) {
        if (insertParent->data>key) {
            insertParent->leftchild=new Node;
            insertParent->leftchild->data=key;
            insertParent->leftchild->leftchild=NULL;
            insertParent->leftchild->rightchild=NULL;
            return insertParent->leftchild;
        } else if (insertParent->data<key) {
            insertParent->rightchild=new Node;
            insertParent->rightchild->data=key;
            insertParent->rightchild->leftchild=NULL;
            insertParent->rightchild->rightchild=NULL;
            return insertParent->rightchild;
        }
    } else
        return NULL;
}

Но я считаю, что проблема в функции поиска, а именно в указателе узла по ссылке родителя:

Node* search(Node *t, int key, Node *&parent) {
    if (t!=NULL) {
        parent=t;
        if (t->data==key)
            return t;
        else if (t->data>key)
            return search(t->leftchild,key,t);
        else 
            return search(t->rightchild,key,t);
    } else
        return NULL;
}

У меня есть функция, которая выводит дерево, и я проверил его на дереве, которое я построил вручную, и оно работает нормально:

void inorder(Node *t)
{
    if (t!=NULL) {
        if (t->leftchild!=NULL)
            inorder(t->leftchild);

        cout << t->data << ", ";

        if (t->rightchild!=NULL)
            inorder(t->rightchild);                     
    }  
}

Не ищу ответа, просто ищу область, на которую мне следует обратить внимание.

5
задан Bill the Lizard 26 September 2012 в 00:17
поделиться