Coda, usa deque

Le operazioni minime per una coda (FIFO, first in first out).
La struttura dati collections.deque può essere utilizzata come una coda.

OperazioneImplementazione
coda=collections.deque() Una coda vuota
z.enqueue(x)Aggiunge x alla codacoda.appendleft(x)Aggiunge a sinistra…
x <– z.dequeue()Restituisce il primo elemento inserito e lo eliminax=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([])