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.