Je construis un arbre de recherche binaire. Maintenant, j'ai un problème avec l'ajout d'un nœud à l'arbre.Ajouter des nœuds à l'arbre de recherche binaire C++
void BinaryTree::add(int value, Node* node) {
if(!node)
node = new Node(value);
else if(node->key < value)
this->add(value, node->rightNode);
else if(node->key > value)
this->add(value, node->leftNode);
}
Ce code ne semble pas fonctionner quand je l'appelle:
BinaryTree test;
test.add(4, test.root);
test.add(1, test.root);
test.add(5, test.root);
test.add(2, test.root);
test.add(3, test.root);
test.add(7, test.root);
test.add(6, test.root);
Après le premier appel d'ajout, la racine du « test » de l'arbre est encore vide. Comment dois-je changer le code pour qu'il soit mis à jour quand j'appelle add et que le noeud va à l'endroit correct de l'arbre? Merci beaucoup!
Vous pouvez transmettre le 'Nœud *' par référence. –
Oui, merci! @ShafikYaghmour – Ra1nWarden