双向队列:既能头部入也能尾部入,既能头部出也能尾部出

<?phpclass Queue {private $array    = array(); //声明空数组private $max_num  = 2; //最大入队个数//头入列public function setFirst($item){if($this->queueConut() < $this->max_num){return array_unshift($this->array,$item);}echo '队列已经满了';}//头出列public function getFirst(){if($this->queueConut() > 0){return array_shift($this->array);}echo '队列里没有数据了';}//尾入列public function setLast($item){if($this->queueConut() < $this->max_num){return array_push($this->array,$item);}echo '队列已经满了';}//尾出列public function getLast(){if($this->queueConut() > 0){return array_pop($this->array);}echo '队列里没有数据了';}//查看队列public function shows(){print_r($this->array);}//清空队列public function emptys(){if($this->queueConut() > 0){unset($this->array);}echo '队列里没有数据了';}//获取队列条数private function queueConut(){return count($this->array);}}
$Queue = new Queue();$Queue->setFirst('张三');
$Queue->shows();
$Queue->setFirst('李四');
$Queue->shows();
$Queue->setFirst('王二');
$Queue->shows();
$Queue->getLast();
$Queue->shows();

最终实现效果

Array
([0] => 张三
)
Array
([0] => 李四[1] => 张三
)
队列已经满了
Array
([0] => 李四[1] => 张三
)
Array
([0] => 李四
)

PHP实现队列之双向队列相关推荐

  1. Python容器专题 - deque(队列)--双向队列对象

    deque(队列)–双向队列对象 Deque队列是由栈或者queue队列生成的.列表也可以用作队列,其中先添加的元素被最先取出 ("先进先出"):普通列表的一个巨大缺陷在于,其往开 ...

  2. 数据结构第二版(朱昌杰版)栈和队列四(队列)

    什么是队列?队列是一种数据出入方式,先进先出,在计算机很多任务中都会用到,比如线程池的排队,和调度也有先来先处理,所以在计算机中队列是一种应用很广泛的数据处理方式 接下来就是正式进入到队列的认识中了 ...

  3. Python培训教程:Python内置数据结构之双向队列

    经常听说Python就是一门执行速度低的语言,可能是你的程序中使用了复杂的算法与数据结构,才会导致程序执行速率低的.在Python的标准库中提供了常见的数据结构工开发者使用,不仅执行速率比较快,还可以 ...

  4. Python内置数据结构之双向队列

    经常听说Python就是一门执行速度低的语言,可能是你的程序中使用了复杂的算法与数据结构,才会导致程序执行速率低的.在Python的标准库中提供了常见的数据结构工开发者使用,不仅执行速率比较快,还可以 ...

  5. STL中的双向队列deque

    1.STL中的双向队列deque deque也是顺序容器的一种,同时也是一个可变长数组.要使用deque,需要包含头文件deque.所有适用于vector的操作都适用于deque. deque和vec ...

  6. Algs4-1.3.33一个双向队列Deque-双向链表实现

    1.3.33Deque.一个双向队列(或者称为deque)和栈或队列类似,但它同时支持在两端添加或删除元素.Deque能够存储一组元素并支持表1.3.9中的API: 表1.3.9泛型双向队列的API ...

  7. DFS、栈、双向队列:CF264A- Escape from Stones

    题目: Squirrel Liss liv Escape from Stonesed in a forest peacefully, but unexpected trouble happens. S ...

  8. C++ Double Ended Queues(双向队列)

    双向队列和向量很相似,但是它允许在容器头部快速插入和删除(就像在尾部一样). Constructors 创建一个新双向队列 Operators 比较和赋值双向队列 assign() 设置双向队列的值 ...

  9. python3 deque(双向队列)

    转载:https://www.cnblogs.com/zhenwei66/p/6598996.html 创建双向队列 import collections d = collections.deque( ...

  10. sdut 1466 双向队列

    双向队列 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 想想双向链表--双 ...

最新文章

  1. php 长连接心跳_支持gRPC长链接,深度解读Nacos2.0架构设计及新模型
  2. 不用恐惧AI的高速发展,论击败阿法狗(零)最简单的方法
  3. Windows XP中的用户分为3类。
  4. 获取电脑和操作系统信息-uname
  5. C语言CASE如何用switch,switch case 中如何使用枚举
  6. 磁盘未被格式化,是否格式化数据灾难应急方案
  7. C#:常用字符整理自用
  8. 甘肃刘家峡赤壁“结”出多彩冰瀑
  9. 70 万行代码、历时 20 年,一名程序员写出的史诗般的计算机程序
  10. 第22课: JSP语句 switch判断语句 (JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)
  11. 【Spring源码学习篇(一)】☀️Spring5本地环境编译,超级实用!!✨
  12. SVO 论文与代码分析总结
  13. 局域网即时通讯软件的实现
  14. Spring的IOC和AOP,学不会Spring的,你看我的文章
  15. hive ddl语法使用详解
  16. H264视频通过RTMP直播 .
  17. 自写:斤与公斤的转化
  18. 荔枝派Zero小白(一)
  19. java查询日期类的表,JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)...
  20. 2016弱校联盟十一专场10.2——Around the World

热门文章

  1. tif(tiff)图片格式批量转换JPG图片格式转换器
  2. 发现一款好用的 java web报表工具
  3. python k线斜率计算_在Python中计算斜率的方法
  4. 有关AntDesign的简单学习
  5. SEO精髓:四处一词
  6. xmpp怎么让群主踢人?
  7. CAD虚线不显示怎么办
  8. php计算macd,macd计算公式?MACD指标的原理是什么
  9. 将二进制转换成十进制 C语言
  10. 结构化程序设计方法和面向对象程序设计方法的区别