blob: 379387e17c16a13d7d3aa5c992f36d63fdd8d431 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
//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.
*/
|