Wie umgekehrt eine Warteschlange in C++

July 27

Die Warteschlange ist eine Methode, die Programmierer verwenden, um Daten zu speichern. Eine Warteschlange ist eine Sequenz von Daten, die die Regel "first in, first Out." folgt Es hat eine Vorder- und eine Rückseite. Elemente hinzugefügt nach hinten und von vorne entfernt. Es ist sehr viel wie eine Schlange von Menschen warten auf einen Bankangestellten. Eine gute Möglichkeit, Ihre C++-Programmierkenntnisse zu üben ist, ein Programm zu schreiben, die eine Warteschlange umkehrt.

Anweisungen

1 Laden Sie die C-IDE durch Klicken auf das Programmsymbol. Wenn es geöffnet wird, wählen Sie "File/New/Project" und "C-Projekt" erstellen Sie ein neues C-Projekt. Eine leere Quellcodedatei wird in den Text-Editor-Teil der IDE angezeigt.

2 Importieren Sie die Bibliotheken "Iostream," "Queue" und "Cstdio", indem Sie die folgenden Codezeilen am oberen Rand der Quellcodedatei schreiben:

enthalten < Iostream > < Warteschlange > gehören gehören < Cstdio > using Namespace std;

3 Erstellen Sie eine Funktion, die den Inhalt der Warteschlange umkehren wird. Die Funktion nimmt zwei Argumente: die Warteschlange, die Sie umkehren möchten und eine Warteschlange, die die umgekehrte Inhalte gespeichert werden sollen. Sie können diese Warteschlangen "Vorwärts" und "rückwärts" bzw. aufrufen. Um die Funktion zu deklarieren, schreiben Sie die folgende Codezeile:

void qReverse (Warteschlange < Int >, < Int > Warteschlange vorwärts / rückwärts) {}

4 Erstellen einer "if"-Anweisung innerhalb der geschweiften Klammern der Funktion "qReverse". Diese "if"-Anweisung wird ausgeführt, wenn die "Vorwärts"-Warteschlange Elemente enthält:

if(forwards.size() >= 1) {}5

Deklarieren Sie eine Int-Variable namens "X", und weisen sie den ersten Wert der Warteschlange "Vorwärts", indem Sie die folgende Zeile in den geschweiften Klammern der die Anweisung "if" schreiben:

int x = forwards.front();6

Entfernen Sie das erste Element aus der Warteschlange "Weiterleitungen" schreiben Sie folgende Zeile ein, wieder in den geschweiften Klammern der die "if"-Anweisung:

forwards.pop();7

Stellen Sie eine rekursive Funktion-qReverse anrufen. Rekursive Funktionsaufrufe auftreten, beim Ausführen einer Funktion aus in sich selbst. Durch qReverse rekursiv aufrufen, wird die Warteliste "rückwärts" in umgekehrter Reihenfolge der Warteschlange "Weiterleitungen" geladen werden. Schreiben Sie die folgende Anweisung in den geschweiften Klammern der Anweisung "Wenn":

qReverse(forwards, backwards);8

Schieben Sie das Element in die Variable "X" gespeichert sind, in die nach hinten in die Warteschlange. Da diese Anweisung nach dem Funktionsaufruf rekursive auftritt, wird das letzte Element der "Vorwärts" Warteschlange zuerst in der Warteschlange "rückwärts" geschoben. Schreiben Sie die folgende Anweisung in den geschweiften Klammern der Anweisung "Wenn":

backwards.push(x);9

Erstellen Sie eine main-Funktion nach dem "}" Klammer von der "If"-Anweisung und die "qReverse"-Funktion. Die Syntax sieht folgendermaßen aus:

Int main() {}

10 Deklarieren Sie zwei Warteschlangen: "ForwardsQueue" und "BackwardsQueue", schreiben die folgenden innerhalb der geschweiften Klammern der Hauptfunktion:

queue&lt;int> forwardsQueue, backwardsQueue;11

Fügen Sie Elemente hinzu "ForwardsQueue", indem Sie die folgenden Anweisungen in den geschweiften Klammern der Hauptfunktion schreiben:

forwardsQueue.push(1);

forwardsQueue.push(2);

forwardsQueue.push(3);12

Stellen Sie eine Funktion aufrufen, um "qReverse", und per "ForwardsQueue" und "BackwardsQueue," schreiben folgendes innerhalb der geschweiften Klammern der Hauptfunktion:

qPop(forwardsQueue, backwardsQueue);13

Drucken Sie den Inhalt des "BackwardsQueue" durch die folgenden Anweisungen innerhalb der geschweiften Klammern der Hauptfunktion erneut schreiben:

while( backwardsQueue.size() )

{ cout &lt;&lt; backwardsQueue.front() &lt;&lt; endl; backwardsQueue.pop(); }14

Kompilieren Sie und führen Sie das Programm durch Drücken der grünen Pfeil-Taste befindet sich auf der obersten Zeile der Schaltflächen auf der IDE. Das Programm druckt den Inhalt der "BackwardsQueue", die wie folgt aussieht:

3

2

1