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隊列的數據出隊就是最後一個元素。每次都是來回轉移隊列的數據。