Una coda (Queue) è una struttura dati con le seguenti operazioni:
Enqueue(Q,e): aggiunge e alla fine della codaDequeue(Q): restituisce l'elemento all'inizio della coda, cancellandolo dalla stessaEmpty(Q): restituisce true se la coda è vuotaCome nel caso della pila, è possibile realizzare una coda sia con una lista che con un vettore.
Se lo stoccaggio dei dati è effettuato negli elementi di una lista, teniamo traccia dell'ultimo elemento della lista (oltre al primo) con un puntatore tail. Le operazioni diventano:
Enqueue(Q,e): inserisci l'elemento e in coda alla lista, aggiornando tail Dequeue(Q): restituisci l'elemento in testa se diverso da NIL, cancellandolo e aggiornando head Empty(Q): Restituisci head = tail Se lo stoccaggio dei dati è effettuato nelle celle di un vettore tail e head e del numero di elementi contenuti n. Gli indici vengono incrementati di
Enqueue(Q,e): se A[tail], incrementa tail Dequeue(Q): se A[head] corrente, decrementa n, incrementa head Empty(Q): restituisci n = 0 Per ampliare lo stoccaggio è necessaria un allocazione fresca e copia degli elementi estraendoli con Dequeue(Q)