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数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
优化PHP代码技巧的小结
Jun 02 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
PHP框架Laravel的小技巧两则
Feb 10 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 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
PHP+DBM的同学录程序(5)
2006/10/09 PHP
php strtotime 函数UNIX时间戳
2009/01/14 PHP
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
php类的定义与继承用法实例
2015/07/07 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
javascript 内存回收机制理解
2011/01/17 Javascript
JS跨域总结
2012/08/30 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
Python实现注册、登录小程序功能
2018/09/21 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
黄金搭档广告词
2014/03/21 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
门面房租房协议书
2014/12/01 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL