Heim >Backend-Entwicklung >PHP-Tutorial >Warteschlangen und Stapel: Zwei Stapel implementieren Warteschlangen, zwei Warteschlangen implementieren Stapel
1. Frage: Verwenden Sie zwei Stapel, um eine Warteschlange zu implementieren . Verwenden Sie zunächst einen Stapel, um Daten einzugeben, und geben Sie diesen Stapel dann an einen anderen Stapel aus, um eine First-In-First-Out-Reihenfolge für die Warteschlange zu bilden.
Da das Array von PHP die Implementierung eines Stapels simulieren kann, lautet der Code wie folgt:
<?php function StackToQueue($data) { $arr=array(); while($_t=array_pop($data)) { array_push($arr, $_t); } return $arr; } $a=array(); for($i=1;$i<=5;$i++) { array_push($a, $i); } var_dump($a); $a=StackToQueue($a); var_dump($a);2.Verwenden Sie zwei Warteschlangen, um einen Stapel zu implementieren . Die Reihenfolge des Stapels lautet hauptsächlich: Wer zuerst rein, kommt zuletzt raus. Verwenden Sie zuerst Warteschlange A, um Daten einzugeben, und übertragen Sie dann bei jedem Datenabruf die Daten von Warteschlange A in Warteschlange B. In Warteschlange A verbleibt nur die letzte Nummer, und dann werden die Daten aus Warteschlange A als letztes Element entfernt . Jedes Mal werden die Warteschlangendaten hin und her übertragen.