PHP使用两个栈实现队列功能的方法

这篇文章主要介绍了PHP使用两个栈实现队列功能的方法,结合实例形式分析了php基于两个栈实现队列功能的思路与具体操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP使用两个栈实现队列功能的方法,分享给大家供大家参考,具体如下:

问题

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

解决思路

两个栈。出栈的时候,如果栈2不为空,就出栈2。如果栈2为空,就把栈1的出栈再入栈2。

实现代码:

  1. <?php
  2. $arr1 = array();
  3. $arr2 = array();
  4. function mypush($node)
  5. {
  6. array_push($arr1,$node);
  7. }
  8. function mypop()
  9. {
  10. if(!emptyempty($arr2)){
  11. return array_pop($arr2);
  12. }else{
  13. while(!emptyempty($arr1)){
  14. array_push($arr2, array_pop($arr1));
  15. }
  16. return array_pop($arr2);
  17. }
  18. }