隊列與棧:兩個棧實現隊列,兩個隊列實現棧

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隊列的數據出隊就是最後一個元素。每次都是來回轉移隊列的數據。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章