Menu
Coddy logo textTech

Coda

Lezione 11 di 23 del corso C++ - Libreria standard dei template di Coddy.

La coda C++ è una struttura dati che fornisce la funzionalità di una coda; più precisamente, segue il principio FIFO (First in-First out). Ciò significa che gli elementi aggiunti per primi alla coda saranno i primi a uscirne, ovvero a essere rimossi.


queue<dataType> queueName;

Per creare una coda in C++, dobbiamo includere il file header queue all'inizio del file C++ usando #include <queue>.

Ora possiamo dichiarare una coda nel nostro programma nel modo seguente:

queue<int> queueOfNums;

Dobbiamo imparare ad aggiungere nuovi elementi alla coda. Lo facciamo usando il metodo push(). Il metodo push() inserisce un nuovo elemento in fondo alla coda.

queueOfNums.push(1);
queueOfNums.push(2);
...

Ora vogliamo visualizzare gli elementi della coda. Poiché si tratta di una coda, possiamo visualizzare il primo elemento che è stato aggiunto. Per farlo, usiamo il metodo front(), che restituisce il primo elemento della coda.

cout << queueOfNums.front();
Output:
1

A differenza dello stack, in cui possiamo visualizzare solo l'elemento in cima, ovvero l'ultimo elemento dello stack, con la coda possiamo visualizzare anche l'ultimo valore. Lo facciamo usando il metodo back(), che restituisce l'ultimo elemento della coda.

queueOfNums.push(3);
cout << queueOfNums.back();
Output:
3

Dobbiamo anche imparare a rimuovere gli elementi dalla coda. Purtroppo, possiamo rimuovere solo l'elemento in testa, che è stato aggiunto per primo, perché si tratta sempre di una coda: non possiamo rimuovere per primo l'ultimo elemento. Per farlo usiamo lo stack e il principio LIFO (Last in-First out).

Quindi rimuoviamo l'elemento in testa usando il metodo pop().

queueOfNums.pop();
cout << queueOfNums.front() << endl;
queueOfNums.pop();
cout << queueOfNums.front();
Output:
1
2

Metodi della coda

MetodoFunzionalità
size()Restituisce il numero di elementi nella coda
empty()Restituisce true se la coda è vuota, false altrimenti
swap()Scambia il contenuto di una coda con quello di un'altra
challenge icon

Sfida

Facile

Data una sequenza di 10 numeri in input. Usa una coda e visualizza i numeri rimuovendoli uno alla volta e visualizzando solo quelli pari.

 

Input
1 2 3 4 5 6 7 8 9 10
Output
2 4 6 8 10

Provalo tu

#include <queue>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

Tutte le lezioni di C++ - Libreria standard dei template

Esercitati da solo: Compilatore C++ online