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


Posted in PHP onJanuary 15, 2018

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

问题

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

解决思路

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

实现代码

<?php
$arr1 = array();
$arr2 = array();
function mypush($node)
{
  array_push($arr1,$node);
}
function mypop()
{
  if(!empty($arr2)){
    return array_pop($arr2);
  }else{
    while(!empty($arr1)){
      array_push($arr2, array_pop($arr1));
    }
    return array_pop($arr2);
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php分页思路以及在ZF中的使用
May 30 PHP
PHP图片上传代码
Nov 04 PHP
php权重计算方法代码分享
Jan 09 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
php中socket通信机制实例详解
Jan 03 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
基于PHP微信红包的算法探讨
Jul 21 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
php获取ajax的headers方法与内容实例
Dec 27 #PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 #PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 #PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 #PHP
php-msf源码详解
Dec 25 #PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 #PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 #PHP
You might like
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
Python中pygame安装方法图文详解
2015/11/11 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
解决Python二维数组赋值问题
2019/11/28 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
生产车间实习自我鉴定
2013/09/23 职场文书
法院实习人员自我鉴定
2013/09/26 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
民间借贷协议书范本
2014/10/01 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
大学生创业事迹材料
2014/12/30 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
JavaScript canvas实现流星特效
2021/05/20 Javascript
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技