logo

Warteschlange in der C++-Standardvorlagenbibliothek (STL)

Warteschlangen sind eine Art Containeradapter, die nach dem FIFO-Prinzip (First In First Out) arbeiten. Elemente werden hinten (Ende) eingefügt und vorne gelöscht. Warteschlangen verwenden ein gekapseltes Objekt von deque oder Liste (sequentielle Containerklasse) als zugrundeliegender Container und stellt einen bestimmten Satz von Mitgliedsfunktionen für den Zugriff auf seine Elemente bereit.

Im Folgenden finden Sie ein Beispiel zur Veranschaulichung der Warteschlange und ihrer verschiedenen Methoden.



CPP

in.next Java






// CPP code to illustrate Queue in> // Standard Template Library (STL)> #include> #include> using> namespace> std;> // Print the queue> void> showq(queue<>int>>gq)> {> >queue<>int>>g = gq;> >while> (!g.empty()) {> >cout <<>' '> << g.front();> >g.pop();> >}> >cout <<>' '>;> }> // Driver Code> int> main()> {> >queue<>int>>gquiz;> >gquiz.push(10);> >gquiz.push(20);> >gquiz.push(30);> >cout <<>'The queue gquiz is : '>;> >showq(gquiz);> >cout <<>' gquiz.size() : '> << gquiz.size();> >cout <<>' gquiz.front() : '> << gquiz.front();> >cout <<>' gquiz.back() : '> << gquiz.back();> >cout <<>' gquiz.pop() : '>;> >gquiz.pop();> >showq(gquiz);> >return> 0;> }>



>

>

Ausgabe

The queue gquiz is : 10 20 30 gquiz.size() : 3 gquiz.front() : 10 gquiz.back() : 30 gquiz.pop() : 20 30>

Methoden der Warteschlange sind:

Namen von Städten in den USA

Die zeitliche Komplexität und Definition der folgenden Funktionen sind wie folgt:

queue::empty() O(1)
queue::size() O(1)
queue::place() O(1)
queue::front() O(1)
queue::back() O(1)
queue::push(g) O(1)
queue::pop() O(1)
Methode Definition
queue::empty() Gibt zurück, ob die Warteschlange leer ist. Es gibt „true“ zurück, wenn die Warteschlange leer ist, andernfalls wird „false“ zurückgegeben.
queue::size() Gibt die Größe der Warteschlange zurück.
queue::swap() Tauschen Sie den Inhalt von zwei Warteschlangen aus, aber die Warteschlangen müssen denselben Datentyp haben, obwohl die Größe unterschiedlich sein kann.
queue::place() Fügen Sie ein neues Element in den Warteschlangencontainer ein. Das neue Element wird am Ende der Warteschlange hinzugefügt.
queue::front() Gibt einen Verweis auf das erste Element der Warteschlange zurück.
queue::back() Gibt einen Verweis auf das letzte Element der Warteschlange zurück.
queue::push(g) Fügt das Element „g“ am Ende der Warteschlange hinzu.
queue::pop() Löscht das erste Element der Warteschlange.

C++-Programm für einige weitere Methoden

C++


'ABC's in Zahlen'



// CPP code to illustrate Queue operations in STL> // Divyansh Mishra -->divyanshmishra101010> #include> #include> using> namespace> std;> // Print the queue> void> print_queue(queue<>int>>q)> {> >queue<>int>>temp = q;> >while> (!temp.empty()) {> >cout << temp.front()<<>' '>;> >temp.pop();> >}> >cout <<>' '>;> }> // Driver Code> int> main()> {> >queue<>int>>q1;> >q1.push(1);> >q1.push(2);> >q1.push(3);> >cout <<>'The first queue is : '>;> >print_queue(q1);> > >queue<>int>>q2;> >q2.push(4);> >q2.push(5);> >q2.push(6);> >cout <<>'The second queue is : '>;> >print_queue(q2);> > > >q1.swap(q2);> > >cout <<>'After swapping, the first queue is : '>;> >print_queue(q1);> >cout <<>'After swapping the second queue is : '>;> >print_queue(q2);> > >cout

>

>

Ausgabe

The first queue is : 1 2 3 The second queue is : 4 5 6 After swapping, the first queue is : 4 5 6 After swapping the second queue is : 1 2 3 0>

Die zeitlichen und räumlichen Komplexitäten der Operationen in diesem Code sind wie folgt:

print_queue-Funktion:

Zeitkomplexität: O(n), wobei n die Anzahl der Elemente in der Warteschlange ist.
Raumkomplexität: O(n), wobei n die Anzahl der Elemente in der Warteschlange ist.
q1.push(1), q1.push(2), q1.push(3), q2.push(4), q2.push(5), q2.push(6):

Zeitkomplexität: O(1) für jede Push-Operation.
Raumkomplexität: O(n), wobei n die Gesamtzahl der Elemente in beiden Warteschlangen ist.
q1.swap(q2):

Zeitkomplexität: O(1) für jede Swap-Operation.
Platzkomplexität: O(1), da diese Operation nur die internen Zeiger der beiden Warteschlangen vertauscht.
q1.empty():

Vereinigte Staaten, wie viele Städte

Zeitkomplexität: O(1), da diese Operation lediglich prüft, ob die Warteschlange leer ist.
Platzkomplexität: O(1), da für diese Operation kein zusätzlicher Platz benötigt wird.
Insgesamt sind die zeitlichen und räumlichen Komplexitäten dieses Codes für typische Anwendungsfälle angemessen und effizient.

Aktuelle Artikel zur C++-Warteschlange