Arbre Binaire Insérer Algorithme

J'ai récemment terminé la mise en œuvre d'un arbre de recherche Binaire pour un projet sur lequel je travaillais. Ça s'est bien passé et j'ai beaucoup appris. Cependant, maintenant, j'ai besoin de mettre en œuvre régulière d'un Arbre Binaire... ce qui m'a déconcerté.

Je suis à la recherche d'un moyen de faire de mon InsertNode fonction..

normalement, dans un BST que vous venez de vérifier si les données < racine puis insérez la gauche et vice-versa. Cependant, Dans un arbre Binaire, c'est juste rempli de gauche à droite, d'un niveau à un moment..

quelqu'un pourrait-il m'aider à mettre en œuvre une fonction qui ajoute un nouveau Nœud de l'arbre Binaire de gauche à droite dans aucun ordre particulier?

Voici mon Insert pour un 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);
    }
  }
}
Un arbre de recherche binaire est un arbre binaire dans lequel les données dans les nœuds est commandé d'une manière particulière. Donc, si vous avez mis en place un BST, vous avez peu de choses à faire...
La droite. C'est là que je suis bloqué, si, je ne vois pas le moyen de le faire simplement...
dois-je viens de changer la < > vérification pour voir si ils sont Nuls?
A ma réponse vous aider avec le problème? Est-il autre chose que tu aimerais m'étendre sur?

OriginalL'auteur Taylor | 2013-05-19