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).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License