Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poniższy przykładowy kod ilustruje sposób używania queue::pushfunkcji , , queue::popqueue::empty, queue::back, queue::fronti queue::size STL w języku Visual C++. Informacje zawarte w tym artykule dotyczą tylko niezarządzanych kodu Visual C++.
Oryginalna wersja produktu: Visual C++
Oryginalny numer KB: 157622
Podsumowanie
Karta queue przechowuje obiekty typu zdefiniowanego przez typ kontenera obsługiwanego przez obiekt queue. Obsługiwane są dwa kontenery i list deque. Obiekty są wstawiane push() i usuwane przez pop()element . front() Zwraca najstarszy element w elemencie queue (znanym również jako FIFO) i back() zwraca najnowszy element wstawiony w elemencie queue.
Wymagany nagłówek
<queue>
Prototypy
queue::push();
queue::pop();
queue::empty();
queue::back();
queue::front();
queue::size();
Uwaga 16.
Nazwy klas lub parametrów w prototypach mogą nie być zgodne z wersją w pliku nagłówka. Niektóre zostały zmodyfikowane w celu zwiększenia czytelności.
Przykładowy kod
W przykładzie przedstawiono implementację kolejki przy użyciu list kontenerów i .deque
//////////////////////////////////////////////////////////////////////
// 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();
}
}
Dane wyjściowe programu
201
size of q is:4
42
100
49
201
horse
size of p is:5
cat
ape
dog
mouse
horse
Informacje
Aby uzyskać te same informacje o funkcjach składowych klasy STL queue , zobacz kolejka.