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. 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? … Leggi tutto

collections.deque()

deque (pronuncia deck) ) è una struttura dati contenuta nel modulo collections.Realizza una double-ended queue, una coda con accesso da entrambi i lati.Rispetto a una lista ottimizza le operazioni di inserimento e rimozione sul lato sinistro. Costruttori collections.deque() Crea una coda doppia vuota collections.deque(z) Crea una coda doppia contenente gli elementi presi dall’oggetto iterabile specificato … Leggi tutto

Classe coda doppia, usa list

Le operazioni minime per una coda doppia (double ended queue) Si può scegliere se aggiungere/togliere in prima/ultima posizione add_front(x), aggiunge x al primo posto della coda add_rear(x), aggiunge x all’ultimo posto della coda x <– remove_front(), restituisce l’elemento al primo posto e lo elimina x <– remove_rear(), restituisce l’elemento all’ultimo posto e lo elimina is_empty(), … Leggi tutto

Coda doppia, usa list

Le operazioni minime per una coda doppia (double ended queue). Si può scegliere se aggiungere/togliere in prima/ultima posizione.La struttura dati lista (list) di Python si presta come contenitore dei dati e può essere facilmente manipolata per realizzare le operazioni richieste. Operazione Implementazione coda_doppia=[] Una coda doppia vuota z.append_right(x) Aggiunge x a destra, al primo posto … Leggi tutto

Classe coda, usa list

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 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()) … Leggi tutto