Pas de dépendances
#include <iostream> #include <deque> using namespace std; // certains compilateurs permettent de ne pas le mettre void ShowDeque(deque<int>& D) { size_t i; cout << "premiere methode" << endl; for(i=0;i<D.size();i++) cout << "element " << i << " : " << D[i] << endl; cout << "deuxieme methode" << endl; deque<int>::iterator I; for(I=D.begin();I!=D.end();I++) cout << "element : " << *I << endl; } int main() { deque<int> D(10); D[0]=3; D[7]=8; D.push_back(5); D.push_front(2); ShowDeque(D); return 0; }
deque (double Ended Queue) Contrairement à vector qui n'a une réserve que derrière, deque a une réserve devant et derrière. Ainsi, on peut faire des push aussi bien avant qu'arrière, de même que des pop. Dans le programme, on voit qu'on peut piloter deque aussi bien avec [] qui est surchargé, qu'avec push qui fonctionne aussi comme dans liste. Dans la fonction d'affichage, on voit qu'on a 2 méthodes pour afficher, ou parcourir, ces méthodes sont celles utilisées dans vector et list. L'itérateur associé est en RANDOM access, donc a aussi bien le [] que les ++ et -- de surchargés...