Skip to content

Instantly share code, notes, and snippets.

@titouanc
Forked from anonymous/gist:5514888
Last active December 16, 2015 23:50
Show Gist options
  • Save titouanc/5516806 to your computer and use it in GitHub Desktop.
Save titouanc/5516806 to your computer and use it in GitHub Desktop.
/* Solution 1: getSubTree renvoie un pointeur sur pointeur sur arbre,
autrement dit, l'adresse du pointeur sur le sous-arbre gauhe de l'objet.
A éviter, puisqu'on permet d'écrire dans un atttribut privé. */
Tree **Tree::getSubTreeL(){
return &(this->leftChild);
}
/* Solution 2: implémenter un setter, à préferer */
void Tree::setSubTreeL(Tree *child){
this->leftChild = child;
}
void Tree::insertLeft(){
Tree *special = new Tree();
if (this->leftChild != NULL) {
/* Pour la solution 1: changer la valeur du pointeur sur le sous arbre */
*(special->getSubTreeL())=this->leftChild;
/* Pour la solution 2: utiliser le setter de l'objet sur lequel pointe special */
special->setSubTreeL(this->leftChild);
}
this->leftChild = special;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment