Coda a doppia estremità
Lezione 6 di 23 del corso C++ - Libreria standard dei template di Coddy.
Deque è un contenitore sequenziale in C++ chiamato anche coda a doppia estremità. Più avanti, nel corso, nel capitolo sugli Adattatori di contenitori, imparerai a conoscere una coda normale. Per ora, però, devi sapere che in una coda normale gli elementi vengono inseriti dalla fine e rimossi dall'inizio. In una deque, invece, possiamo inserire e rimuovere elementi sia dall'inizio che dalla fine.

Implementiamo la struttura dati deque includendo la libreria all'inizio del nostro file .cpp con #import <deque> (possiamo anche accedere alla deque includendo il file header bits/stdc++.h)
Successivamente, creiamo una deque con la seguente sintassi:
deque<data_type> deque_name;Per prima cosa, usiamo la parola chiave deque. Poi inseriamo il tipo di variabile che vogliamo memorizzare nella deque e, infine, specifichiamo il nome della variabile deque.
deque<int> numbers;Possiamo anche inizializzare una deque mentre la dichiariamo, usando la stessa sintassi che abbiamo usato per la struttura dati vector:
deque<int> numbers = {1, 2, 3, 4, 5};
cout << numbers[0];Output:
1Quindi, inseriamo un elemento alla fine della deque usando il metodo push_back() e lo inseriamo all'inizio con il metodo push_front().
deque<int> numbers = {2, 3};
numbers.push_front(1);
numbers.push_back(4);
for(int i = 0; i < numbers.size(); i++)
cout << numbers[i] << " ";Output:
1 2 3 4Metodi della deque
| Metodo | Funzionalità |
| push_back() | Inserisce un nuovo elemento alla fine |
| push_front() | Inserisce un nuovo elemento all'inizio |
| pop_back() | Rimuove l'elemento dalla fine |
| pop_front() | Rimuove l'elemento dall'inizio |
| size() | Restituisce il numero di elementi |
| empty() | Restituisce se la deque è vuota |
| clear() | Rimuove tutti gli elementi della deque |
Sfida
FacileL'utente inserirà numeri positivi finché non inserirà -1. Itera inserendo ogni numero in un deque: il primo all'inizio, il secondo alla fine, il terzo all'inizio e così via... Dopodiché, usando un ciclo, itera attraverso il deque e visualizza ogni elemento con uno spazio tra gli elementi.
Input
5
10
15
20
25
30
-1Output
25 15 5 10 20 30Provalo tu
#include <deque>
#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