J'essaie de créer une fonction qui insère une structure de clé dans un arbre. La fonction définit correctement la racine, mais ne définit pas les branches lorsqu'elle est appelée à nouveau avec une autre clé. Voici le code:Construction d'arborescence avec des pointeurs
tree.h:
class tree{
key *tree_root;
public:
tree();
//Constructor
void treedestroy(key *root);
//Tree destructor helper
~tree();
//Destructor
void insert(key* root, key *newkey, int disc);
};
fonction d'insertion
de la classe d'arbre:
void tree::insert(key *root, key *newkey, int disc){
if (root == NULL){
root = newkey;
return;
}
if (newkey->cord[disc] <= root->cord[disc])
insert(root->left, newkey, (disc+1)%4);
else if (newkey->cord[disc] > root->cord[disc])
insert(root->right, newkey, (disc+1)%4);
}
Je suis un peu inexpérimenté avec des pointeurs C++ et je me demandais comment je pouvais résoudre ce problème code afin qu'il remplisse l'arbre correctement?
Oh bien sûr! Merci! – HighLife