Je suis en train d'implémenter un BST en utilisant C++, mais après avoir implémenté la fonction insert, j'ai trouvé que je ne pouvais insérer qu'un seul noeud dans l'arbre. J'ai essayé plusieurs façons de résoudre le problème, mais ils n'a pas marché ...CST BST insertion
Voilà mon implémentation de la fonction d'insertion:
void BSTree::insertHelper(Customer* customer, Node* currentNode, Node* parent)
{
if (currentNode == NULL)
{
Node* newNode = new Node(customer);
currentNode = newNode;
newNode->setParent(parent);
return;
}
if (*customer < *currentNode->getCustomer())
insertHelper(customer, currentNode->getLeft(), currentNode);
else insertHelper(customer, currentNode->getRight(), currentNode);
}
bool BSTree::insert(string lastName, char initial, int account)
{
Customer* customer = new Customer(lastName, initial, account);
if (isEmpty())
{
Node* newNode = new Node(customer);
root = newNode;
return true;
}
Node* currentNode = root;
insertHelper(customer, currentNode, NULL);
return true;
}
Merci pour tous vos aide.