Conteneurs de séquence - queue
queue
Ce conteneur est celui des files d’attente. Une file est analogue à une pile, mais l’ordre d’entrée et de sortie de ses éléments est premier entré, premier sorti. Pour implémenter une file d’attente, vous devez inclure le fichier en-tête <queue> au début du programme et travailler dans l’espace de noms std.La classe modèle queue reçoit deux arguments : le type des données à stocker dans la pile et un type de conteneur de séquence qui doit fournir au minimum les fonctions front(), back(), push_back() et pop_front(). Vous pouvez donc utiliser un list ou un deque. Si vous ne fournissez pas cet argument, le conteneur deque est sélectionné par défaut.
Le code 8.11 illustre l’utilisation d’une file. La classe queue fournit les fonctions front() et back() pour accéder respectivement au premier et au dernier élément de la file, et les fonctions push() et pop() pour ajouter un élément à la fin de la file et supprimer l’élément qui se trouve en tête de file respectivement.
Code 8.11 : utilisation d’une file
#include <iostream> #include <queue> using namespace std; int main() { typedef queue<int> file; //On crée une file d’attente: file ma_file; //On ajoute quelques éléments : ma_file.push(1); ma_file.push(2); ma_file.push(3); while (!ma_file.empty()) //tant que la file n’est pas vide { cout << ma_file.front() << endl; //on affiche l’élément de tête ma_file.pop(); //puis on le supprime } }
Le texte original de cette fiche pratique est extrait de
«Tout sur le C++» (Christine EBERHARDT, Collection
CommentCaMarche.net, Dunod, 2009)