首頁  >  文章  >  後端開發  >  佇列與棧:兩個棧實作佇列,兩個佇列實作棧

佇列與棧:兩個棧實作佇列,兩個佇列實作棧

WBOY
WBOY原創
2016-08-08 09:22:03965瀏覽

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教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn