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:
1A 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:
3Dobbiamo 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
2Metodi della coda
| Metodo | Funzionalità |
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 |
Sfida
FacileData 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 10Output
2 4 6 8 10Provalo 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