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默认安装产生系统漏洞
Oct 09 PHP
防止MySQL注入或HTML表单滥用的PHP程序
Jan 21 PHP
PHP采集相关教程之一 CURL函数库
Feb 15 PHP
php HandlerSocket的使用
May 02 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
对象失去焦点时自己动提交数据的实现代码
Nov 06 PHP
如何使用php输出时间格式
Aug 31 PHP
php递归遍历删除文件的方法
Apr 17 PHP
PHP判断是否连接上网络的方法
Jul 01 PHP
PHP编写的图片验证码类文件分享
Jun 06 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
Jan 17 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
php正则修正符用法实例详解
2016/12/29 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
幼儿园小班植树节活动方案
2014/03/04 职场文书
如何写求职信
2014/05/24 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫
宝塔更新Python及Flask项目的部署
2022/04/11 Python
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技