php使用佇列 PHP使用兩個棧實現佇列功能的方法

2021-10-22 22:50:36 字數 394 閱讀 4967

問題用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

解決思路

兩個棧。出棧的時候,如果棧2不為空,就出棧2。如果棧2為空,就把棧1的出棧再入棧2。

實現**

$arr1 = array();

$arr2 = array();

function mypush($node)

array_push($arr1,$node);

function mypop()

if(!empty($arr2))else{

while(!empty($arr1)){

array_push($arr2, array_pop($arr1));

return array_pop($arr2);

使用兩個佇列實現棧

參考文章 棧和佇列都是用來儲存資料的,無論底層是使用陣列還是鍊錶來實現,其基本原理是不變的,那就是棧的特點的先進後出,佇列的特點是先進先出。size enqueue dequeue peek 使用佇列來實現棧 使用佇列來實現棧的方式其實和通過棧實現佇列的方式差不多。用以上方法也是可以的。但是,為了讓...

使用兩個棧實現乙個佇列 使用兩個佇列實現乙個棧

棧的特點是先進後出 佇列的特點是先進先出 用兩個棧實現乙個佇列,必須保證它先進先出 入棧和如佇列沒什麼區別,區別就在出棧和出佇列 用兩個棧實現乙個佇列,入佇列時可以將全部資料壓入空棧s1,然後將棧s1的全部元素壓入棧s2,此時s2的棧頂元素要出佇列的元素了。include template clas...

棧佇列 使用兩個棧實現乙個佇列

棧佇列 使用兩個棧實現乙個佇列 思路 1.入佇列,是將資料放入棧1 2.出佇列,是將棧1資料出棧後依次存入棧2,然後棧2進行出棧 這樣就模擬了佇列的 先進先出 思想1.stack.h pragma once include include include 棧實現 typedef int sdatat...