C++ Binaires de Recherche Arbres Insérer via la Récursivité

Donc mon code est ci-dessous. Je ne reçois pas toutes les erreurs et elle met tout dans le nœud de l'amende juste. Mais, d'après mon des instructions de débogage à Chaque fois que quelque chose est insérée c'est de trouver la racine. Je ne suis pas sûr si c'est à droite. Mais selon le fichier de sortie pour l'affectation, mes réponses sont différentes quand il s'agit de la hauteur de l'arbre, la traversals, et je viens de plat suis toujours avoir des problèmes avec ma leaf fonction count. Une autre histoire cependant.

Basé sur les instructions de débogage on dirait que tout est d'aller là où ils le devraient. Mais je me dis que je pourrait avoir besoin d'un regard neuf. Je ne vois pas comment mon traversals pourrait changer puisque c'est vraiment qu'une question de là où je suis proccessing le nœud qui doit procéder à la Afinde, précommande, et postorder.

template <class T>
void BT<T>::insert(const T& item)
 {
    Node<T>* newNode;
    newNode = new Node<T>(item);
    insert(root, newNode);
 }


template <class T>
void BT<T>::insert(struct Node<T> *&root, struct Node<T> *newNode)
 {
    if (root == NULL)
       {
          cout << "Root Found" << newNode->data << endl;
          root = newNode;
       }
    else
        {
           if (newNode->data < root->data)
              {
              insert(root->left, newNode);
              cout << "Inserting Left" << newNode-> data << endl;
              }
           else
               {
               insert(root->right, newNode);
               cout << "Inserting Right" << newNode->data << endl;
               }
        }
 }

Ma fonction de hauteur est comme suit juste au cas où mon insert est en fait très bien.

template <class T>
int BT<T>::height() const
{
   return height(root);
}


  template <class T>
  int BT<T>::height(Node<T>* root) const
   {
   if (root == NULL)
      return 0;
   else 
      {
      if (height(root->right) > height(root->left))
         return 1 + height(root-> right);
      return 1 + height(root->left);
      }
   }
InformationsquelleAutor Doug | 2008-10-16