Gewusst wie: implementieren eine Warteschlange mit zwei Stapel

January 1

Gewusst wie: implementieren eine Warteschlange mit zwei Stapel

Eine Warteschlange ist eine dynamische Datenstruktur, aus der Sie Daten zugreifen in einem "first in-First-Out" zu verarbeiten. Ein Stapel ist eine dynamische Datenstruktur, aus der Sie Daten in einem "last in-First Out"-Prozess zugreifen. Wenn Sie einen Stapel implementieren, steht nur das letzte Element, das Sie auf dem Stapel abgelegt. Möchten Sie die Daten am unteren Rand der Stapel (das erste Element, das Sie auf dem Stapel abgelegt) sind Sie im Stapel als Warteschlange behandeln. Hierzu müssen Sie einen zweiten Stack implementieren.

Anweisungen

Zwei Stapel entspricht einer Warteschlange

1 Schreiben Sie den Code zum Implementieren eines Stapels nach den Prozeduren und Funktionen in der Programmiersprache, die Sie verwenden möchten, in Ihrem Texteditor. Rufen Sie diesen Stack In_Stack. Legen Sie Ihre Daten auf In_Stack. (Viele Programmiersprachen verwenden die Befehl "Push" Daten zu einem Stapel hinzugefügt.) Z. B. Schieben Sie auf In_Stack folgenden Daten in der folgenden Reihenfolge, "A" dann "B", dann "c". "A" ist die erste auf, und es ist an der Unterseite des Stapels. Wenn Sie das erste Element zugreifen möchten, werden Sie die Daten als Warteschlange behandeln.

2 Schreiben Sie den Code zum Implementieren eines zweiten Stapels nach den Prozeduren und Funktionen in der Programmiersprache, die Sie verwenden möchten. Rufen Sie diesen Stack Out_Stack. (Viele Programmiersprachen verwenden den Befehl "Pop", um Daten zu einem Stapel zu entfernen.)

3 Entfernen Sie jedes Element aus In_Stack und platzieren Sie es auf Out_Stack. Allgemein Sie pop ein Element aus In_Stack, und drücken Sie es auf Out_Stack. Dann überprüfen Sie, ob In_Stack leer ist. Wenn sie nicht leer ist, dann pop off In_Stack der Tagesordnung und schieben Sie es auf Out_Stack. Wiederholen, bis die In_Stack leer ist. In unserem Beispiel Sie pop "C" aus der In_Stack und schieben Sie es auf Out_Stack. Prüfen Sie, ob die In_Stack leer ist. Pop "B" aus der In_Stack und schieben Sie es auf Out_Stack. Prüfen Sie, ob die In_Stack leer ist. Pop-"A" aus In_Stack und schieben Sie es auf Out_Stack. Prüfen Sie, ob die In_Stack leer ist.

4 Wenn die In_Stack leer ist, ist das Element, das auf der Unterseite des In_Stack (in unserem Beispiel "A") wurde am oberen Rand der Out_Stack. Pop-das Element aus der Out_Stack, und Sie Ihren Stapel in einer Warteschlange aktiviert haben. Ihren ersten Artikel auf dem Stapel ist nun das erste Element out (FIFO).

Tipps & Warnungen

  • Die meisten Programmiersprachen bieten Funktionen, um Daten in einem Array als eine Warteschlange oder einen Stapel zu behandeln. Das heißt, können Sie entweder Ende des Arrays zugreifen, unabhängig davon, welches, die Ende Sie Daten hinzufügen. Wenn Ihre Daten in ein Array ist, müssen Sie nicht zu kümmern, ob als einer Warteschlange oder einen Stapel auf die Daten zugreifen. Aber wenn Ihre Daten in einem dynamischen Stapel und Sie es behandeln möchten wie eine Warteschlange, dann müssen Sie den zweiten Stapel implementieren.