-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnodo.h
118 lines (72 loc) · 2.42 KB
/
nodo.h
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#ifndef NODO_H
#define NODO_H
template <typename Tipo>
class Nodo {
private:
//Atributos
Tipo dato;
Nodo* siguiente;
//Nodo* anterior;
public:
//Metodos
//PRE:
//POS: CONSTRUCTOR de nodo
Nodo(Tipo d);
//PRE:
//POS: cambia el dato contenido en el nodo
void cambiar_dato(Tipo d);
//PRE: -
//POS: cambia hacia adonde apunta siguiente el nodo
void cambiar_siguiente(Nodo* pn);
//PRE: -
//POS: obtiene el dato contenido en el nodo
Tipo obtener_dato();
//PRE: -
//POS: obtiene el dato contenido en el nodo
Tipo obtener_dato_const() const;
//PRE: -
//POS: obtiene la direccion del nodo siguiente hacia el que esta apuntando el nodo
Nodo* obtener_siguiente();
//PRE: -
//POS: obtiene la direccion del nodo siguiente hacia el que esta apuntando el nodo
Nodo* obtener_siguiente_const() const;
};
// -----------------------------------------------------------------------------------------
template <typename Tipo>
Nodo<Tipo>::Nodo(Tipo d) {
dato = d;
siguiente = nullptr;
//anterior = nullptr;
}
// -----------------------------------------------------------------------------------------
template <typename Tipo>
void Nodo<Tipo>::cambiar_dato(Tipo d) {
dato = d;
}
// -----------------------------------------------------------------------------------------
template <typename Tipo>
void Nodo<Tipo>::cambiar_siguiente(Nodo* pn) {
siguiente = pn;
}
// -----------------------------------------------------------------------------------------
template <typename Tipo>
Tipo Nodo<Tipo>::obtener_dato() {
return dato;
}
// -----------------------------------------------------------------------------------------
template <typename Tipo>
Tipo Nodo<Tipo>::obtener_dato_const() const{
return dato;
}
// -----------------------------------------------------------------------------------------
template <typename Tipo>
Nodo<Tipo>* Nodo<Tipo>::obtener_siguiente() {
return siguiente;
}
// -----------------------------------------------------------------------------------------
template <typename Tipo>
Nodo<Tipo>* Nodo<Tipo>::obtener_siguiente_const() const{
return siguiente;
}
// -----------------------------------------------------------------------------------------
#endif // NODO_H