1、題目:用兩個堆疊實作一個佇列。先用一個棧錄入數據,再輸出這個棧到另外一個棧,就可以形成佇列的先進先出順序了。
因為PHP的陣列可以模擬堆疊的實現,所以程式碼如下:
<?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、用兩個佇列實作一個堆疊。棧的順序主要是先進後出。先用A隊列錄入數據,然後每次取數據的時候轉移A隊列的數據到B隊列,A隊列中只留下 最後一個數,然後將A隊列的數據出隊就是最後一個元素。每次都是來回轉移佇列的資料。
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上就介紹了佇列與棧:兩個棧實作佇列,兩個佇列實作棧,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。