基于PHP如何实现栈和队列,代码是什么
Admin 2022-08-15 群英技术资讯 448 次浏览
用两个栈,出栈时全部出到第二个栈中,然后从第二个栈中出栈就能模拟队列
队列操作类
主要使用array_push()入队
array_shift()出队
(栈的实现类似,使用array_push()入栈, array_pop出栈)
<?php /* * PHP实现队列操作类 */ class queueOp { /* * 队尾入队 * Return:处理之后队列的元素个数 */ public function tailEnqueue($arr,$val) { return array_push($arr,$val); } /* * 队尾出队 * Return:最后一个值,如果数组为空或不是数组,返回NULL * Comment:仅用于双向队列 */ public function tailDequeue($arr) { return array_pop($arr); } /* * 队首入队 * Return:处理之后队列的元素个数 * Comment:仅用于双向队列 */ public function headEnqueue($arr,$val) { return array_unshift($arr,$val); } /* * 队首出队 * Return:移出的值,如果参数不是数组或数组为空,返回NULL */ public function headDequeue($arr) { return array_shift($arr); } /* * 队列长度 * Return:返回队列的长度(元素个数) */ public function queueLength($arr) { return count($arr); } /* * 获取队首元素 * Return:第一个元素的值,如果队列为空则返回FALSE */ public function queueHead($arr) { return reset($arr); } /* * 获取队尾元素 * Return:最后一个元素的值,如果队列为空则返回FALSE */ public function queueTail($arr) { return end($arr); } /* * 清空队列 * Return:无返回值 */ public function clearQueue($arr) { unset($arr); } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家介绍一下php7开启强类型模式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
本文实例讲述了php 实现svg转化png格式的方法。分享给大家供大家参考,具体如下
PHP7教程栏目介绍总结PHP7语言基础,干货满满,总结的基础知识全在这里,有需要的朋友可以点赞收藏。
php mysql查询语句的写法如:【select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);】。
现在很多网站和软件的注册都会让用户填写电话号码,之后系统会向用户手机发送一条短信验证码,用户输入验证码之后就能正常使用了,而且还能使用短信验证码进行快捷登录。很多朋友会注意到,我们获取短信验证码是有时间隔或者或缺次数的,那么这些限制是如何实现的呢?这篇文章就给大家分享一下对使用PHP实现的短信验证发送次数限制。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008