PHP使用两个栈实现队列功能的方法
这篇文章主要介绍了PHP使用两个栈实现队列功能的方法,结合实例形式分析了php基于两个栈实现队列功能的思路与具体操作技巧,需要的朋友可以参考下。
本文实例讲述了PHP使用两个栈实现队列功能的方法,分享给大家供大家参考,具体如下:
问题
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解决思路
两个栈。出栈的时候,如果栈2不为空,就出栈2。如果栈2为空,就把栈1的出栈再入栈2。
实现代码:
- <?php
- $arr1 = array();
- $arr2 = array();
- function mypush($node)
- {
- array_push($arr1,$node);
- }
- function mypop()
- {
- if(!emptyempty($arr2)){
- return array_pop($arr2);
- }else{
- while(!emptyempty($arr1)){
- array_push($arr2, array_pop($arr1));
- }
- return array_pop($arr2);
- }
- }