C ++ - Bibliothek - <Warteschlange>
Einführung in die Warteschlange
Queue ist eine Datenstruktur, die für den Betrieb im FIFO-Kontext (First in First out) ausgelegt ist. In der Warteschlange werden Elemente vom hinteren Ende eingefügt und vom vorderen Ende entfernt.
Die Warteschlangenklasse ist der Containeradapter. Container ist ein Objekt, das Daten des gleichen Typs enthält. Die Warteschlange kann aus verschiedenen Sequenzcontainern erstellt werden. Containeradapter unterstützen keine Iteratoren, daher können wir sie nicht zur Datenmanipulation verwenden. Sie unterstützen jedoch die Elementfunktionen push () und pop () zum Einfügen bzw. Löschen von Daten.
Definition
Unten finden Sie die Definition von std :: queuer aus der <queue> -Headerdatei
template <class T, class Container = deque<T> > class queue;
Parameter
T - Typ des enthaltenen Elements.
T kann durch einen anderen Datentyp einschließlich eines benutzerdefinierten Typs ersetzt werden.
Container - Typ des zugrunde liegenden Containerobjekts.
Mitgliedertypen
Die folgenden Elementtypen können von Elementfunktionen als Parameter oder Rückgabetyp verwendet werden.
Sr.Nr. | Mitgliedertypen | Definition |
---|---|---|
1 | Werttyp | T (Erster Parameter der Vorlage) |
2 | Containertyp | Zweiter Parameter der Vorlage |
3 | size_type | size_t |
4 | Referenz | Werttyp& |
5 | const_reference | const value_type & |
6 | Differenztyp | ptrdiff_t |
Funktionen von <queue>
Unten finden Sie eine Liste aller Methoden aus dem <queue> -Header.
Konstruktoren
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | queue :: queue Standardkonstruktor Erstellt ein leeres Warteschlangenobjekt mit null Elementen. |
2 | Warteschlange :: Warteschlange Konstruktor initialisieren Erstellt ein Warteschlangenobjekt und weist den internen Container durch eine Kopie von ctnr zu . |
3 | queue :: queue move Konstruktor Konstruiert die Warteschlange mit dem Inhalt anderer mithilfe der Verschiebungssemantik. |
4 | queue :: queue copy Konstruktor Erstellt eine Warteschlange mit einer Kopie aller Elemente, die in der vorhandenen Warteschlange vorhanden sind . |
Zerstörer
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | queue :: ~ queue Zerstört die Warteschlange durch Freigabe des Containerspeichers. |
Mitgliedsfunktionen
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | queue :: back Gibt einen Verweis auf das letzte Element der Warteschlange zurück. |
2 | queue :: emplace Konstruiert und fügt am Ende der Warteschlange ein neues Element ein. |
3 | Warteschlange :: leer Testet, ob die Warteschlange leer ist oder nicht. |
4 | queue :: front Gibt einen Verweis auf das erste Element der Warteschlange zurück. |
5 | queue :: operator = Version kopieren Weist der Warteschlange neue Inhalte zu, indem alte ersetzt werden. |
6 | queue :: operator = Version verschieben Weist der Warteschlange neue Inhalte zu, indem alte ersetzt werden. |
7 | queue :: pop Entfernt das vordere Element der Warteschlange. |
8 | queue :: push copy version Fügt am Ende der Warteschlange ein neues Element ein. |
9 | queue :: push move version Fügt am Ende der Warteschlange ein neues Element ein. |
10 | queue :: size Gibt die Gesamtzahl der in der Warteschlange vorhandenen Elemente zurück. |
11 | queue :: swap Tauscht den Inhalt der Warteschlange gegen den Inhalt einer anderen Warteschlange aus. |
Überladene Funktionen ohne Mitglieder
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | operator == Testet, ob zwei Warteschlangen gleich sind oder nicht. |
2 | Operator! = Testet, ob zwei Warteschlangen gleich sind oder nicht. |
3 | Operator < Testet, ob die erste Warteschlange kleiner als die andere ist oder nicht. |
4 | Operator <= Testet, ob die erste Warteschlange kleiner oder gleich der anderen ist oder nicht. |
5 | Betreiber> Testet, ob die erste Warteschlange größer als die andere ist oder nicht. |
6 | Operator> = Testet, ob die erste Warteschlange größer oder gleich der anderen ist oder nicht. |
7 | Tauschen Tauscht den Inhalt von zwei Warteschlangen aus. |
Einführung in priority_queue
Die Prioritätswarteschlange ist eine Warteschlangendatenstruktur mit Priorität. Die Prioritätswarteschlange ist analog zur Heap-Datenstruktur, bei der das Element in beliebiger Reihenfolge eingefügt werden kann und immer zuerst das maximale Heap- Element abgerufen wird.
Definition
Unten finden Sie die Definition von std :: priority_queue aus der Header-Datei <queue>
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;
Parameter
T - Typ des enthaltenen Elements.
T kann durch einen anderen Datentyp einschließlich eines benutzerdefinierten Typs ersetzt werden.
Container - Typ des zugrunde liegenden Containerobjekts.
Compare - Vergleichsobjekt, mit dem die Prioritätswarteschlange bestellt werden soll.
Dies kann ein Funktionszeiger oder ein Funktionsobjekt sein, das seine beiden Argumente vergleichen kann.
Mitgliedertypen
Die folgenden Elementtypen können von Elementfunktionen als Parameter oder Rückgabetyp verwendet werden.
Sr.Nr. | Mitgliedertypen | Definition |
---|---|---|
1 | Werttyp | T (Erster Parameter der Vorlage) |
2 | Containertyp | Zweiter Parameter der Vorlage |
3 | size_type | size_t |
4 | Referenz | Werttyp& |
5 | const_reference | const value_type & |
6 | Differenztyp | ptrdiff_t |
Funktionen von <queue>
Unten finden Sie eine Liste aller Methoden aus dem <queue> -Header.
Konstruktoren
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | priority_queue :: priority_queue Standardkonstruktor Erstellt eine leere priority_queue mit dem Element zero. |
2 | priority_queue :: priority_queue Konstruktor initialisieren Erstellt ein priority_queue-Objekt und weist einen internen Container durch eine Kopie von ctnr zu . |
3 | Priority_queue :: Priority_queue- Bereichskonstruktor Erstellt eine priority_queue mit möglichst vielen Elementen im Bereich von first bis last. |
4 | priority_queue :: priority_queue Verschiebungskonstruktor Konstruiert die priority_queue mit dem Inhalt anderer mithilfe der Verschiebungssemantik. |
5 | Priority_queue :: Priority_queue- Kopierkonstruktor Erstellt eine Prioritätswarteschlange mit einer Kopie aller Elemente, die in der vorhandenen Prioritätswarteschlange vorhanden sind. |
Zerstörer
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | priority_queue :: ~ priority_queue Zerstört priority_queue durch Freigabe des Containerspeichers. |
Mitgliedsfunktionen
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | priority_queue :: emplace Konstruiert und fügt ein neues Element in sortierter Reihenfolge in die priority_queue ein. |
2 | priority_queue :: leer Testet, ob pritority_queue leer ist oder nicht. |
3 | priority_queue :: operator = Version kopieren Weist der priority_queue neue Inhalte zu, indem alte ersetzt werden. |
4 | priority_queue :: operator = Version verschieben Weist der priority_queue neue Inhalte zu, indem alte ersetzt werden. |
5 | priority_queue :: pop Entfernt das vordere Element der priority_queue. |
6 | priority_queue :: Push- Kopierversion Fügt ein neues Element in sortierter Reihenfolge ein. |
7 | priority_queue :: push move version Fügt ein neues Element in sortierter Reihenfolge ein. |
8 | priority_queue :: size Gibt die Gesamtzahl der in der Priority_queue vorhandenen Elemente zurück. |
9 | priority_queue :: swap Tauscht den Inhalt von priority_queue gegen den Inhalt einer anderen priority_queue aus. |
10 | priority_queue :: top Gibt einen Verweis auf das erste Element der priority_queue zurück |
Überladene Funktionen ohne Mitglieder
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | Tauschen Tauscht den Inhalt von priority_queue gegen den Inhalt einer anderen priority_queue aus. |