Die Warteschlange ist eine Methode Programmierer verwenden, um Daten zu speichern. Eine Warteschlange ist eine Folge von Daten , die die Regel folgt "first in , first out ". Es hat eine Vorderseite und eine Rückseite . Einzelteile werden an der Rückseite hinzugefügt und entfernt von der Front. Es ist sehr ähnlich wie eine Schlange von Menschen wartet auf eine Bankangestellte. Ein guter Weg, um Ihre C + + Programmierung Fähigkeiten zu üben ist es, ein Programm, das eine Warteschlange kehrt zu schreiben. Things You Need
C + + Integrated Development Environment (IDE ) wie Eclipse CDT
C + + Compiler, wie GCC
anzeigen Weitere Anweisungen
1
laden werde C IDE , indem Sie auf das Programmsymbol . Wenn sie geöffnet wird , wählen Sie " File /New /Project" und wählen Sie " C Project" , um eine neue C -Projekt zu erstellen . Eine leere Quellcode -Datei wird im Texteditor Teil der IDE .
2
Import die Bibliotheken " iostream ", " Warteschlange " und " cstdio " , indem die folgenden Codezeilen an der Spitze der Quellcode -Datei :
# include # include
# include
using namespace std ;
3
erstellen Sie eine Funktion , die den Inhalt der Warteschlange umkehren wird . Die Funktion nimmt zwei Argumente: die Warteschlange, die Sie stornieren wollen , und eine Schlange , die die umgekehrte Inhalte gespeichert werden. Sie erreichen diese Warteschlangen "vorwärts " und " rückwärts " bezeichnet. Um die Funktion zu erklären , schreiben die folgende Codezeile :
nichtig qReverse ( Warteschlange vorwärts, rückwärts Warteschlange & ) {}
4 erstellen ", wenn " Anweisung innerhalb der geschweiften Klammern des " qReverse "-Funktion . Dieses "if" Anweisung ausgeführt wird , wenn der "vorwärts" Warteschlange enthält Artikel :
if ( forwards.size () > = 1) {}
5
Deklarieren Sie eine int-Variable mit dem Namen " x " und weisen Sie ihm den ersten Wert des "vorwärts" Warteschlange , indem sie die folgende Zeile innerhalb der geschweiften Klammern des " if"-Anweisung :
int x = forwards.front ();
Seite 6
entfernen Sie das erste Element aus der "Vorwärts "-Warteschlange , indem Sie die folgende Zeile , wieder in den geschweiften Klammern des " if"-Anweisung :
forwards.pop ();
Seite 7
einen rekursiven Aufruf der Funktion qReverse . Rekursive Funktionsaufrufe auftreten, wenn Sie eine Funktion aus sich selbst auszuführen. Durch den Aufruf qReverse rekursiv , werden Sie laden, bis die "rückwärts" Warteschlange in umgekehrter Reihenfolge des "Vorwärts "-Warteschlange . Schreiben Sie die folgende Anweisung in den geschweiften Klammern des " if"-Anweisung :
qReverse ( vorwärts, rückwärts );
8
Schieben Sie den Artikel in der Variable " x " in die gespeicherten rückwärts Warteschlange . Da diese Aussage tritt nach dem rekursiven Aufruf der Funktion wird das letzte Element des "vorwärts" in die Warteschlange "rückwärts" Warteschlange geschoben ersten . Schreiben Sie die folgende Anweisung in den geschweiften Klammern des " if"-Anweisung :
backwards.push (x);
9
erstellen Hauptfunktion nach der "} " Klammer der beiden das " if"-Anweisung und der " qReverse "-Funktion . Die Syntax sieht wie folgt aus :
int main () {}
10
Declare zwei Warteschlangen : " forwardsQueue " und " backwardsQueue ", indem Sie den folgenden innerhalb der geschweiften Klammern der Hauptfunktion :
Warteschlange forwardsQueue , backwardsQueue ;
11 hinzufügen von Elementen zur " forwardsQueue " indem Sie die folgenden Anweisungen innerhalb der geschweiften Klammern der main-Funktion :
forwardsQueue.push (1);
forwardsQueue.push (2);
forwardsQueue.push (3);
12
Als eine Funktion rufen zu " qReverse ", und senden Sie es " forwardsQueue " und " backwardsQueue ", indem sie den folgenden innerhalb der geschweiften Klammern der main-Funktion :
qpop ( forwardsQueue , backwardsQueue );
13
drucken Sie den Inhalt des " backwardsQueue " durch das Schreiben der folgenden Aussagen, wieder in den geschweiften Klammern der main-Funktion :
while ( backwardsQueue.size ()) { cout
backwardsQueue.front << () << endl; backwardsQueue.pop ();}
14
übersetzen und starten Sie das Programm durch Drücken der grünen Taste auf der oberen Tastenreihe befindet auf der IDE . Das Programm druckt die Inhalte von " backwardsQueue ", die wie folgt aussieht:
3
2
1