queue
Małgorzata Piekarska
Kolejka FIFO to w STL klasa szablonowa o nazwie queue. Jest ona zawarta w pliku nagłówkowym queue.
#include <queue>
// kolejka liczb typu int
queue<int> IntQueue;
Zbiór metod dla kolejki queue jest niewielki. Zapewniają one jednak wszystkie niezbędne operacje na tej strukturze danych:
- metoda push powoduje dołączenie elementu z tyłu kolejki. Podajemy jej parametr będący obiektem, który chcemy dodać do kolejki,
- metoda pop zdejmuje element będący z przodu kolejki. Uwaga: funkcja ta nie zwraca zdejmowanego elementu,
- front zwraca element leżący z przodu kolejki (ten wstawiony najwcześniej)
- back zwraca element leżący z tyłu kolejki (ten leżący najpóźniej)
- size zwraca liczbę elementów w kolejce
- empty sprawdza, czy kolejka jest pusta i zwraca wartość logiczną
#include <cstdio>
#include <queue>
using namespace std;
int main()
{
// deklaracja i wypełnienie kolejki
queue<char> CharQueue;
for (char i = ‘A’; i <= ‘Z’; i++)
CharQueue.push(i);
// wypisanie zawartości kolejki
while (!CharQueue.empty())
{
printf("%d",CharQueue.front());
CharQueue.pop();
}
}
Rezultatem programu jest wypisanie całego alfabetu:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Wypisywany on jest we właściwej kolejności - a ściślej mówiąc, w porządku dodawania liter do kolejki. Są one potem pobierane i wyświetlane w identycznej sekwencji. Tak właśnie działa kolejka (ostatni przyszedł - pierwszy wychodzi).