Le operazioni minime per una coda (FIFO, first in first out).
La struttura dati lista (list) si presta come contenitore dei dati e può essere facilmente manipolata per realizzare le operazioni richieste.
Operazione | Implementazione | ||
---|---|---|---|
coda=[] | Una coda vuota | ||
z.enqueue(x) | Aggiunge x alla coda, come ultimo | coda.insert(0, 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
coda=[] # [] coda.insert(0, 18) # [18] coda.insert(0, 1) # [1, 18] coda.insert(0, 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
coda=[] # [] for x in range(5): coda.insert(0, x) print(coda) # [4, 3 ,2, 1, 0] while(len(coda) != 0): print(coda.pop(), end=" ") # 0 1 2 3 4 print() print(coda) # []