Le operazioni minime per una coda (FIFO, first in first out).
La struttura dati collections.deque può essere utilizzata come una coda.
Operazione | Implementazione | ||
---|---|---|---|
coda=collections.deque() | Una coda vuota | ||
z.enqueue(x) | Aggiunge x alla coda | coda.appendleft(x) | Aggiunge a sinistra… |
x <– z.dequeue() | Restituisce il primo elemento inserito e lo elimina | x=coda.pop() | Toglie da destra… |
z.is_empty() | La coda è vuota? | len(coda) == 0 |
Test 1
import collections
coda=collections.deque() # La coda è vuota
coda.appendleft(18) # [18]
coda.appendleft(1) # [1, 18]
coda.appendleft(28) # [28, 1, 18]
print(len(coda) == 0) # False
print(coda.pop()) # [28, 1] 18
print(len(coda) == 0) # False
print(coda.pop()) # [28] 1
print(len(coda) == 0) # False
print(coda.pop()) # [] 28
print(len(coda) == 0) # True
Test 2
import collections
coda=collections.deque() # deque([])
for i in range(5):
coda.appendleft(i)
print(coda) # deque([4, 3 ,2, 1, 0])
while(len(coda) != 0):
print(coda.pop()) # 0 1 2 3 4
print(coda) # deque([])