Menu
Coddy logo textTech

Kolejka

Lekcja 11 z 23 w kursie C++ – Standardowa biblioteka szablonów w Coddy.

Queue w C++ to struktura danych zapewniająca funkcjonalność kolejki, a dokładniej — działa zgodnie z zasadą FIFO (First in-First out). Oznacza to, że elementy dodane do kolejki jako pierwsze opuszczą ją lub zostaną z niej usunięte jako pierwsze.


queue<dataType> queueName;

Aby utworzyć kolejkę w C++, musimy dołączyć plik nagłówkowy queue na początku pliku C++ za pomocą #include <queue>.

Teraz możemy zadeklarować kolejkę w naszym programie w następujący sposób:

queue<int> queueOfNums;

Musimy się nauczyć, jak dodawać nowe elementy do kolejki. Robimy to za pomocą metody push(). Metoda push() wstawia nowy element na końcu kolejki.

queueOfNums.push(1);
queueOfNums.push(2);
...

Następnie chcemy wyświetlić elementy kolejki. Ponieważ jest to kolejka, możemy wyświetlić pierwszy dodany do niej element. W tym celu używamy metody front(). Zwraca ona pierwszy element kolejki.

cout << queueOfNums.front();
Output:
1

W przeciwieństwie do stosu, z którego możemy wypisać tylko element znajdujący się na szczycie, czyli ostatni element stosu, z kolejki możemy wypisać również jej ostatnią wartość. Robimy to za pomocą metody back(), która zwraca ostatni element kolejki.

queueOfNums.push(3);
cout << queueOfNums.back();
Output:
3

Musimy też nauczyć się, jak usuwać elementy z kolejki. Niestety, możemy usunąć tylko element znajdujący się na początku, który został dodany jako pierwszy, ponieważ to nadal kolejka, więc nie możemy najpierw usunąć ostatniego elementu. Do tego używamy stosu i zasady LIFO (Last in-First out).

Usuwamy więc element z początku za pomocą metody pop().

queueOfNums.pop();
cout << queueOfNums.front() << endl;
queueOfNums.pop();
cout << queueOfNums.front();
Output:
1
2

Metody kolejki

MetodaFunkcjonalność
size()Zwraca liczbę elementów w kolejce
empty()Zwraca true, jeśli kolejka jest pusta, a w przeciwnym razie false
swap()Wymienia zawartość jednej kolejki na zawartość innej
challenge icon

Wyzwanie

Łatwy

Podano 10 liczb z wejścia. Użyj kolejki i wypisz liczby, usuwając je po jednej i wypisując tylko parzyste.

 

Input
1 2 3 4 5 6 7 8 9 10
Output
2 4 6 8 10

Spróbuj swoich sił

#include <queue>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

Wszystkie lekcje w sekcji C++ – Standardowa biblioteka szablonów

Poćwicz samodzielnie: Kompilator C++ online