//AB.cpp #include "AB.h" Sommet::Sommet(Valeur v){ racine = v; SAG = NULL; SAD = NULL; Pere = NULL; } Sommet::Sommet(Sommet& s){ racine = s.racine; SAG = s.SAG; SAD = s.SAD; } bool Sommet::FeuilleP(){ if (SAG == SAD && SAG == NULL){ return true; } return false; } void Sommet::SupprimerSAG(){ if (!FeuilleP()){ SAG->SupprimerSAG(); delete SAG; } } void Sommet::SupprimerSAD(){ if (!FeuilleP()){ SAD->SupprimerSAD(); delete SAD; } } void Sommet::GrefferSAG(AB g){ SupprimerSAG(); SAG = g; g->Pere = this; g->FGP= true; } void Sommet::GrefferSAD(AB d){ SupprimerSAD(); SAD=d; d->Pere=this; d->FGP=false; } void Sommet::RemplacerPourLePerePar(AB Ar){ //le pere existe if ( FGP ){ Pere->GrefferSAG(Ar); } else { Pere->GrefferSAD(Ar); } } /*Question 1 : L'etiquette d'un sommet est dans "racine", on voit que l'arbo est binaire car chaque sommet ne peut avoir que 2 fils au maximum. */