C++-Container-Klassen<queue>
In der C++-Standardbibliothek<queue>Die Header-Datei bietet eine Implementierung der Warteschlangen-Datenstruktur. Eine Warteschlange ist eine First-In-First-Out-(FIFO-)Datenstruktur, die das Hinzufügen von Elementen an einem Ende (dem hinteren Ende, engl. rear) und das Entfernen von Elementen am anderen Ende (dem vorderen Ende, engl. front) ermöglicht.
Eine Warteschlange ist eine lineare Datenstruktur, die folgenden Regeln folgt:
- Elemente können nur am hinteren Ende der Warteschlange hinzugefügt werden.
- Elemente können nur am vorderen Ende der Warteschlange entfernt werden.
Syntax
In C++ lautet die Syntax für eine Warteschlange wie folgt:
#include <queue> // 声明队列 std::queue<Type> q;
HierTypeist der Datentyp der in der Warteschlange gespeicherten Elemente.
Häufige Operationen
Die Warteschlange bietet die folgenden gängigen Operationen:
empty(): Prüfen, ob die Warteschlange leer ist.size(): Gibt die Anzahl der Elemente in der Warteschlange zurück.front(): Gibt eine Referenz auf das vordere Element zurück.back(): Gibt eine Referenz auf das hintere Element zurück.push(): Fügt ein Element am hinteren Ende der Warteschlange hinzu.pop(): Entfernt das vordere Element.
Beispiel
Nachfolgend ein Beispiel unter Verwendung der C++-Standardbibliothek<queue>Einfaches Beispiel:
Beispiel
#include <queue>
int main() {
// Erstellen einer Ganzzahlen-Warteschlange
std::queue<int> q;
// Elemente zur Warteschlange hinzufügen
q.push(10);
q.push(20);
q.push(30);
// Anzahl der Elemente in der Warteschlange ausgeben
std::cout << "Anzahl der Elemente in der Warteschlange: " << q.size() << std::endl;
// Das vordere Element ausgeben
std::cout << "Vorderes Element: " << q.front() << std::endl;
// Das hintere Element ausgeben
std::cout << "Hinteres Element: " << q.back() << std::endl;
// Das vordere Element entfernen
q.pop();
std::cout << "Nach dem Entfernen des vorderen Elements, vorderes Element: " << q.front() << std::endl;
// Die Anzahl der Elemente in der Warteschlange erneut ausgeben
std::cout << "Anzahl der Elemente in der Warteschlange: " << q.size() << std::endl;
return 0;
}
Ausgabeergebnis:
队列中的元素数量: 3 队首元素: 10 队尾元素: 30 移除队首元素后,队首元素: 20 队列中的元素数量: 2
C++'s<queue>Die Standardbibliothek bietet eine praktische Möglichkeit, die Datenstruktur Warteschlange zu implementieren. Durch die Verwendung von Warteschlangen können wir Sammlungen von Elementen effizient verwalten, die in einer bestimmten Reihenfolge verarbeitet werden müssen. Hoffentlich kann dieser Artikel Anfängern helfen, Warteschlangen in C++ besser zu verstehen und zu verwenden.
Hinweise
- Eine Warteschlange erlaubt keinen wahlfreien Zugriff auf Elemente, was bedeutet, dass auf Elemente in der Warteschlange nicht direkt über den Index zugegriffen werden kann.
- Warteschlangen werden typischerweise mithilfe verketteter Listen oder dynamischer Arrays implementiert, je nach konkreter Implementierung.