La classe Queue utilizza una lista
class Queue:
def __init__(self):
self._lista=[]
def enqueue(self, x):
self._lista.insert(0, x)
def dequeue(self):
return self._lista.pop()
def is_empty(self):
return (len(self._lista) == 0)
Test 1
class Queue:
...
coda=Queue() # []
coda.enqueue(18) # [18]
coda.enqueue(1) # [1, 18]
coda.enqueue(28) # [28, 1, 18]
print(coda.is_empty()) # False
print(coda.dequeue()) # [28, 1] 18
print(coda.is_empty()) # False
print(coda.dequeue()) # [28] 1
print(coda.is_empty()) # False
print(coda.dequeue()) # [] 28
print(coda.is_empty()) # True
Test 2
class Queue:
...
coda = Queue() # []
for x in range(5):
coda.enqueue(x)
print(coda._lista) # [4, 3, 2, 1, 0]
while(not coda.is_empty()):
print(coda.dequeue(), end=" ") # 0 1 2 3 4
print()
print(coda._lista) # []
Continua…
Aggiungi i metodi
- x <– top(), il primo elemento inserito?
- x <– bottom(), l’ultimo elemento inserito?
- n <– size(), quanti elementi contiene la coda?
- …