php 用栈实现队列

版权声明:转载请注明原处,thanks~ https://blog.csdn.net/qq_41066340/article/details/84400352
<?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);


猜你喜欢

转载自blog.csdn.net/qq_41066340/article/details/84400352