<?php
class queueOp{/** 队尾入队* Return:处理之后队列的元素个数*/public function tailEnquque($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, $var);}/** 队首出队* Return:移出的值,如果参数不是数组或数组为空,返回NULL*/public function headDequeue(){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);}}<?php
class phpStack{public $top = -1;public $size = 5;public $stack = array();public function __construct($size){$this->size = $size;}public function push($item){if($this->isFull()){return ;}$this->top++;$this->stack[$this->top]=$item;}public function pop(){if($this->isEmpty()){return ;}$ret = $this->stack[$this->top];$this->top--;return $ret;}public function isFull(){if(($this->top+1)>=$this->size){echo "The stack is full!";return true;}}public function isEmpty(){if($this->top==-1){echo "The stack is empty";return true;}}public function show(){for($i=$this->top;$i>-1;$i--){echo $i."元素为:".$this->stack[$i]."<br/>";}}
}
?>

  

转载于:https://www.cnblogs.com/Czc963239044/p/7498047.html

php 实现栈与队列相关推荐

  1. 栈和队列在python中的实现

    栈和队列是两种基本的数据结构,同为容器类型,队列是先进先出,栈是先进后出. 栈 栈提供 push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterat ...

  2. c++数据结构队列栈尸体_一本正经的聊数据结构(3):栈和队列

    前文传送门: 「一本正经的聊数据结构(1):时间复杂度」 「一本正经的聊数据结构(2):数组与向量」 引言 前一篇内容我们介绍了数组和向量,虽然说向量是数组的一个升级版,但是在另一个维度上,他们都属于 ...

  3. 剑指offer:面试题09. 用两个栈实现队列

    题目:用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有 ...

  4. leetcode-232 用栈实现队列

    使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元素. peek() – 返回队列首部的元素. empty() – 返回队列是否为空 栈的特点 ...

  5. 保存数组_面试官:讲一讲你对据结构——数组、链表、栈、队列的理解

    一.解释定义 1. 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.再简单描述一下:数据结构就是描述对象间逻辑关系的学科. 如果还是不太清楚下面会举例说明的. 2. 数据存储结 ...

  6. 数据结构,堆和栈和队列的概念

    数据结构,堆和栈和队列的概念 1 什么是数据结构 数据结构是计算机存储,组织数据的反复改.数据结构是指相互之间存在的一种或多种特定关系的数据元素集合. 2 数据结构的逻辑结构 1 集合结构,元素都是孤 ...

  7. Java数据结构与算法(第四章栈和队列)

    2019独角兽企业重金招聘Python工程师标准>>> 本章涉及的三种数据存储类型:栈.队列和优先级队列. 不同类型的结构 程序员的工具 数组是已经介绍过的数据存储结构,和其他结构( ...

  8. 学习JavaScript数据结构与算法(一):栈与队列

    本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列 第二篇文章:学习JavaScript数据结构与算法(二):链表 第三篇文章:学习JavaScript数据结构与算法(三): ...

  9. 剑指offer_第5题_用两个栈实现队列

    题目描述 用两个栈来实现一个队列 完成队列的Push和Pop操作 队列中的元素为int类型 理解 关于栈 什么是栈 栈的抽象数据类型 Python实现栈 关于队列 什么是队列 队列抽象数据类型 Pyt ...

  10. 栈和队列存储结构总结

    认识: 栈和队列是线性表的子集 (是插入和删除位置受限的线性表) 一.栈: 1.什么是栈? 栈是一种只能在一端插入或删除操作的线性表 2.栈的特点? 后进先出 3.栈的存储结构 3.1顺序栈 假设栈的 ...

最新文章

  1. php页面最大执行时间 set_time_limit函数不起作用
  2. 文轩在线:如何让IT部门成为企业的价值中心
  3. 人工智能可落地项目总结
  4. Spring Boot与消息
  5. cadence原理图封装pin名称重复_Cadence原理图库文件引脚名重复处理方法介绍
  6. CentOS允许某一端口接受外部链接
  7. Java8 Stream详解~筛选:filter
  8. Flash Socket通信的安全策略问题
  9. 深入动态人脸识别小场景应用,2019年或将迎来爆发期
  10. 语音识别技术是什么 语音识别技术应用介绍【图文】
  11. MongoDb系列文章
  12. Linux安装及破解密码
  13. 常用的oracle数据库备份方式
  14. linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
  15. 经典书籍《宽客人生》阅读心得
  16. matlab中Ctphi什么意思,Matlab在物理上的应用举例
  17. 桌面虚拟化中RDS、VDI、IDV、VOI主流的云桌面技术比较(转载)
  18. (加入显示电量功能)模仿魅族、华为、小米电池续航管理软件, 动态水波纹滚动的圆形小球View
  19. Cannot serialize; nested exception is org.springframework.core.serializer
  20. 计算机等级打印,全国计算机等级考试试题PDF打印(13页)-原创力文档

热门文章

  1. autoupdater 更新后重新运行_Windows 10 总是自动更新?这几个方法教你关闭它
  2. python喜马拉雅收费_python抓取喜马拉雅免费专辑
  3. 龙卷风优化软件测试面试题,暑X好物大推荐,最强真无线降噪耳机带你开启夏日解压模式...
  4. where显示null行_Python 之 MySql“未解之谜”14-- 都是 NULL 惹的祸(下)
  5. typora居中_Windows系统下Typora的安装和语法
  6. 无法通过sak判断卡片类型_不同类型人脸识别闸机展示
  7. ecm工作原理 usb_“好玩具”来了!往你的USB端口里藏入一个小开发板...
  8. php 格式化 sub,PHP DateTime sub()用法及代码示例
  9. fft重叠帧_关于FFT实时频谱的几个基本概念 | 科创仪表局
  10. mysql query sql_sql:query 标签