1. 程式人生 > >php 用棧實現佇列

php 用棧實現佇列

<?php
$arr1 = array();
$arr2 = array();

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

// 入佇列操作
function pushQueue($node)
{
	global $arr1;
    array_push($arr1,$node);
}
// 出佇列操作
function popQueue()
{
	global $arr1;
	global $arr2;
    if (empty($arr2)) {
    	if (empty($arr1)) {
    		return null;
    	}
    	while(!empty($arr1)){
            array_push($arr2, array_pop($arr1));
        }
    }
    return array_pop($arr2);
}

#$argv
for ($i=1; $i <count($argv); $i++) { 
	pushQueue($argv[$i]);
}
var_dump($arr1);
$pop_one = popQueue($arr1,$arr2);
$pop_two = popQueue($arr1,$arr2);
var_dump($pop_one);
var_dump($pop_two);