Stack, usa deque

Le operazioni minime per uno stack (LIFO, last in first out).La struttura dati nativa collections.deque può essere utilizzata come uno stack. Operazione Implementazione stack=collections.deque() Uno stack vuoto z.push(x) Aggiunge x allo stack stack.append(x) Aggiunge a destra x <– z.pop() Restituisce l’ultimo elemento inserito e lo elimina x=stack.pop() Toglie da destra… z.is_empty() Lo stack è vuoto? … Leggi tutto

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

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 Classe Test 1 Test 2 Utilizza la coda doppia come stack Test 3 Utilizza la coda doppia come coda Continua…

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