Pagini recente » Cod sursa (job #111239) | Cod sursa (job #503483) | Cod sursa (job #561487) | Cod sursa (job #1798170) | Cod sursa (job #2971276)
#include <iostream>
#include <deque>
using namespace std;
deque<int> D;
deque<int>::iterator it; ///iterator read/write
deque<int>::const_iterator itc; ///iterator read only
void afis()
{
if(D.empty())
{
cout << "D este vida.\n\n";
return;
}
else
cout << "D nu este vida.\n";
//
cout << "D contine " << D.size() << " numere.\n";
//
for(auto &x : D)
cout << ' ' << x;
cout << '\n';
//
for(itc = D.begin(); itc != D.end(); ++itc)
cout << ' ' << *itc;
cout << '\n';
//
cout << "Primul element: " << D.front() << '\n';
cout << "Ultimul element: " << D.back() << '\n';
cout << '\n';
}
int main()
{
int v[] = {10, 13, 16, 22, 6};
//afis();
//
for(unsigned i = 0; i < sizeof(v) / sizeof(int); i++)
D.push_back(v[i]);
//afis();
//
D.push_front(99);
D.push_back(33);
//afis();
//
D.pop_front();
afis();
//
D.pop_back();
afis();
//
it = D.begin() + 2;
D.insert(it, 333);
afis();
//
for(it = D.begin(); it != D.end(); ++it)
*it += 22;
//afis();
//
for(auto &x : D)
x -= 33;
//afis();
return 0;
}
/**
Coadă (listă) cu două capete
============================
https://www.infoarena.ro/deque-si-aplicatii
deque (double-ended queue) - este o coadă cu operații rapide
========================== de adăugare și eliminare la ambele capete
Declarare:
=========
#include <deque>
. . .
deque<tip_elemente> D;
. . .
Metode:
======
▪ front() - întoarce primul element
▪ back() - întoarce ultimul element
▪ push_front() - inserează un element în faţă
▪ push_back() - inserează un element în spate
▪ pop_front() - scoate primul element
▪ pop_back() - scoate ultimul element
▪ empty() - întoarce true dacă în deque nu se găseşte niciun element
şi false în caz contrar
▪ insert(it, valoare) - inserează o valoare pe poziția indicată
de iteratorul it
*/