Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’exemple de code ci-dessous montre comment utiliser les queue::push
fonctions , , queue::pop
queue::empty
, queue::back
, et queue::front
queue::size
STL dans Visual C++. Les informations contenues dans cet article s’appliquent uniquement au code Visual C++ non managé.
Version du produit d’origine : Visual C++
Numéro de base de connaissances d’origine : 157622
Résumé
L’adaptateur queue
contient des objets du type défini par le type de conteneur pris en charge par le queue
. Les deux conteneurs pris en charge sont le list
et le deque
. Les objets sont insérés par push()
et supprimés par pop()
. front()
retourne l’élément le plus ancien dans le queue
(également appelé FIFO) et back()
retourne le dernier élément inséré dans le queue
.
En-tête requis
<queue>
Prototypes
queue::push();
queue::pop();
queue::empty();
queue::back();
queue::front();
queue::size();
Note
Les noms de classe ou de paramètre dans les prototypes peuvent ne pas correspondre à la version dans le fichier d’en-tête. Certains ont été modifiés pour améliorer la lisibilité.
Exemple de code
L’exemple montre l’implémentation de file d’attente à l’aide list
et deque
aux conteneurs.
//////////////////////////////////////////////////////////////////////
// Compile options needed: none
// <filename> : queue.cpp
// Functions:
// queue::push(), queue::pop(), queue::empty(), queue::back(),
// queue::front(),queue::size()
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
/* Compile options needed: /GX */
#include <list>
#include <iostream>
#include <queue>
#include <deque>
using namespace std;
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
// Using queue with list
typedef list<int, allocator<int>> INTLIST;
typedef queue<int, INTLIST> INTQUEUE;
// Using queue with deque
typedef deque<char *, allocator<char *>> CHARDEQUE;
typedef queue<char *, CHARDEQUE> CHARQUEUE;
void main(void)
{
int size_q;
INTQUEUE q;
CHARQUEUE p;
// Insert items in the queue(uses list)
q.push(42);
q.push(100);
q.push(49);
q.push(201);
// Output the item inserted last using back()
cout << q.back() << endl;
// Output the size of queue
size_q = q.size();
cout << "size of q is:" << size_q << endl;
// Output items in queue using front()
// and use pop() to get to next item until
// queue is empty
while (!q.empty())
{
cout << q.front() << endl;
q.pop();
}
// Insert items in the queue(uses deque)
p.push("cat");
p.push("ape");
p.push("dog");
p.push("mouse");
p.push("horse");
// Output the item inserted last using back()
cout << p.back() << endl;
// Output the size of queue
size_q = p.size();
cout << "size of p is:" << size_q << endl;
// Output items in queue using front()
// and use pop() to get to next item until
// queue is empty
while (!p.empty())
{
cout << p.front() << endl;
p.pop();
}
}
Sortie du programme
201
size of q is:4
42
100
49
201
horse
size of p is:5
cat
ape
dog
mouse
horse
References
Pour plus d’informations sur les fonctions membres de la classe STL queue
, consultez file d’attente.