Queue
Tento príklad ukazuje použitie std::queue
v C++17 na pridávanie, prístup, odoberanie prvkov a prácu s frontou.
#include <iostream>
#include <queue>
using namespace std;
int main() {
// Deklarácia fronty (FIFO) pre celé čísla
queue<int> myQueue;
// Pridávanie prvkov do fronty (enqueue)
myQueue.push(10);
myQueue.push(20);
myQueue.push(30);
myQueue.push(40);
// Výpis predného a zadného prvku
cout << "Predný prvok: " << myQueue.front() << endl;
cout << "Zadný prvok: " << myQueue.back() << endl;
// Odstránenie predného prvku (dequeue)
myQueue.pop();
cout << "Po pop(): Predný prvok je teraz: " << myQueue.front() << endl;
// Výpis obsahu fronty
cout << "Obsah fronty: ";
while (!myQueue.empty()) {
cout << myQueue.front() << " ";
myQueue.pop();
}
cout << endl;
return 0;
}
Vysvetlenie kódu:
Deklarácia
std::queue<int>
queue<int> myQueue;
std::queue
je FIFO (First-In, First-Out) dátová štruktúra.- Používame ju na uchovanie celých čísel.
Pridávanie prvkov (
push()
)myQueue.push(10); myQueue.push(20); myQueue.push(30); myQueue.push(40);
push(value)
pridá prvok na koniec fronty.
Získanie predného a zadného prvku
cout << "Predný prvok: " << myQueue.front() << endl; cout << "Zadný prvok: " << myQueue.back() << endl;
front()
vráti prvý prvok (ktorý bol pridaný ako prvý).back()
vráti posledný prvok (ktorý bol pridaný ako posledný).
Odstránenie predného prvku (
pop()
)myQueue.pop();
pop()
odstráni prvý prvok fronty.
Výpis a vyprázdnenie fronty
while (!myQueue.empty()) { cout << myQueue.front() << " "; myQueue.pop(); }
empty()
skontroluje, či je fronta prázdna.- Každý prvok vypíšeme a odstránime (
pop()
).
Očakávaný výstup:
Predný prvok: 10
Zadný prvok: 40
Po pop(): Predný prvok je teraz: 20
Obsah fronty: 20 30 40