-
Notifications
You must be signed in to change notification settings - Fork 0
/
cola_doble.py
126 lines (84 loc) · 2.64 KB
/
cola_doble.py
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
119
120
121
122
123
124
125
126
from LDE import ListaDobleEnlazada
class ColaDoble():
def __init__(self):
self.item = ListaDobleEnlazada()
def tamanio(self):
'''
Returns
-------
int
Retorna tamaño de la Cola Doble.
'''
return self.item._tamanio
def __str__(self):
'''
Returns
-------
string
Retorna una lista de los Nodos dentro
de la Cola Doble.
'''
return self.item.__str__()
def __iter__(self):
return iter(self.item)
def esta_vacia(self):
'''
Comprueba si el tamaño de la Lista es igual a 0.
Returns
-------
boolean
Devuelve True si la Lista está vacía.
'''
return self.item.esta_vacia()
def agregarFrente(self,item):
'''
Agrega un nuevo ítem al final de la Cola Doble.
Parameters
----------
item : any type
Dato que se va a almacenar en un nuevo Nodo.
Returns
-------
None.
'''
return self.item.anexar(item)
def agregarFinal(self,item):
'''
Agrega un nuevo ítem al inicio de la Cola Doble.
Parameters
----------
item : any type
Dato que se va a almacenar en un nuevo Nodo.
Returns
-------
None.
'''
return self.item.agregar(item)
def removerFrente(self):
'''
Elimina y devuelve el ítem de la última posición.
Returns
-------
temp : reference
Retorna el ítem extraido de la Cola Doble.
'''
return self.item.extraer(self.item.tamanio-1)
def removerFinal(self):
'''
Elimina y devuelve el ítem de la primera posición.
Returns
-------
temp : reference
Retorna el ítem extraido de la Cola Doble.
'''
return self.item.extraer(0)
if __name__=='__main__':
pruebaColaDoble= ColaDoble()
pruebaColaDoble.agregarFinal(25)
pruebaColaDoble.agregarFinal(6)
pruebaColaDoble.agregarFrente(8)
print(pruebaColaDoble)
print(pruebaColaDoble.removerFinal())
print(pruebaColaDoble)
print(pruebaColaDoble.removerFrente())
print(pruebaColaDoble)