-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathnodo_dict.cpp
71 lines (55 loc) · 1.62 KB
/
nodo_dict.cpp
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
#include "nodo_dict.h"
Nodo_dict::Nodo_dict(Edificio* edificio) {
this -> edificio = edificio;
this -> clave = edificio -> obtener_nombre();
this -> izquierdo = nullptr;
this -> derecho = nullptr;
this -> padre = nullptr;
}
Edificio* Nodo_dict::devolver_edificio() {
return edificio;
}
string Nodo_dict::devolver_clave() {
return clave;
}
void Nodo_dict::colocar_edificio(Edificio* edificio) {
this -> edificio = edificio;
}
void Nodo_dict::colocar_nodo_derecho(Nodo_dict* derecho, Nodo_dict* padre) {
this -> derecho = derecho;
this -> padre = padre;
}
void Nodo_dict::colocar_nodo_izquierdo(Nodo_dict* izquierdo, Nodo_dict* padre) {
this -> izquierdo = izquierdo;
this -> padre = padre;
}
void Nodo_dict::colocar_nodo_derecho(Nodo_dict* derecho) {
this -> derecho = derecho;
}
void Nodo_dict::colocar_nodo_izquierdo(Nodo_dict* izquierdo) {
this -> izquierdo = izquierdo;
}
void Nodo_dict::coloca_nodo_padre(Nodo_dict* padre) {
this -> padre = padre;
}
Nodo_dict* Nodo_dict::devolver_nodo_derecho() {
return derecho;
}
Nodo_dict* Nodo_dict::devolver_nodo_izquierdo() {
return izquierdo;
}
Nodo_dict* Nodo_dict::devolver_nodo_padre() {
return padre;
}
bool Nodo_dict::es_hoja() {
return devolver_nodo_derecho() == nullptr && devolver_nodo_izquierdo() == nullptr;
}
bool Nodo_dict::hijo_derecho_unico() {
return devolver_nodo_izquierdo() == nullptr && devolver_nodo_derecho() != nullptr;
}
bool Nodo_dict::hijo_izquierdo_unico() {
return devolver_nodo_derecho() == nullptr && devolver_nodo_izquierdo() != nullptr;
}
Nodo_dict::~Nodo_dict() {
delete edificio;
}