PHP基于数组实现的堆栈和队列功能示例(附代码)

堆栈和队列是数据结构的两种实现形式,是使用非常广泛的存储数据的容器。下面呢,就分别讲下这两种容器在PHP中的应用:

使用数组实现堆栈:

1、堆栈容器中,最后进栈的将会被最先出栈,即所谓的“先进后出”的数据结构。

2、在PHP中,将数组当做一个栈,可使用array_push()函数或者以“$array[]=$value”完成进栈操作,使用array_pop()函数完成出栈操作。

3、堆栈的进栈操作相当于:将数据挨个放入一个桶状的(假设数据和此桶具有恰当的表面面积,即刚好能横放进去)容器中,造成的结果就是,完成所有数据进栈之后,先进栈的在最下面。

4、数组进栈示例:


5、数组出栈示例:


使用数组实现队列

1、在数据结构中,队列和堆栈有所不同,遵循“先进先出”的原则。
2、队列举例理解,就好比输液针管一样,先进入细管的液体先进入人体。
3、在PHP中,将数组当成一个队列,可使用array_push()函数或者以“$array[]=$value”完成添加数据操作,使用array_shift()函数完成删除数据操作。
4、数组删除队列数据示例:


5、注意:PHP还提供了另外一个从队列数组的开头插入一个或多个元素,该函数执行成功将返回插入元素的个数,使用格式和函数array_push()一样。即可以使用array_unshift()函数和array_shift()函数进行队列的操作。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/4489.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2018年2月28日 14:59
下一篇 2018年3月2日 10:57

相关推荐

  • 记录之PHP日常注意点(1)

    1,float数据类型输出格式问题$float1 = 1.123;$float2 = 2.3e3;$float3 = 8E-5;var_dump($float1, $float2, $float3); //float(1.123) float(2300) float(8.0E-5)var_dump(number_format(8E-5, 5)); //string(7) &…

    2022年6月19日
    0136
  • PHP入门指南:EventLoop编程模型。

    PHP作为一门动态的脚本语言,被广泛应用于Web开发领域。在PHP中,我们通常采用阻塞IO模型来处理客户端请求,即每个请求都需要一个线程来处理,这样会消耗大量的服务器资源。为了解决这个问题,我们可以使用非阻塞IO…

    2023年5月23日
    02
  • PHP中使用Redis实现Skiplist。

    在Web开发中,PHP和Redis都拥有着广泛的应用场景。PHP作为Web开发的主要语言,而Redis则是一个高性能的内存数据库。Redis拥有着快速的读写能力和灵活的数据结构,其功能的强大性能被广泛地应用于缓存、队列、实时通…

    2023年5月21日
    03
  • return语句的使用

    说明:return可以在函数内使用,也可以在页面中它位置使用。 如果是在函数内使用,作用为停止当前函数的运行,还可以返回函数内的值   如果是在页面中使用,作用为停止当前页面的运行; 可以作为一个文件的返…

    2018年4月1日
    0164
  • PHP入门指南:什么是PHP。

    PHP (Hypertext Preprocessor),译为超文本预处理器,是一种开放源代码的服务器端脚本语言。由于其简单易学、功能强大,PHP 成为了互联网开发的首选语言之一。本文将介绍PHP的历史背景、基础语法、常见应用及学习…

    2023年5月23日
    00
  • PHP微信开发:如何实现群发消息发送记录

    随着微信成为了人们生活中越来越重要的一个通讯工具,其敏捷的消息传递功能迅速受到广大企业和个人的青睐。对于企业而言,将微信发展为一个营销平台已经成为趋势,而微信开发的重要性也逐渐凸显。在其中,群发功能…

    2023年5月18日
    01
  • 重蔚自留地PHP学习第46天——二次开发ECShop。

    上一篇文章学了通过pdo来连接数据https://www.cwhello.com/263880.html 下面些总结。 PDO     PDO:连接数据库,发送SQL         exec:发送SQL语句,针对增删改,没有结果集返回         query:发送SQL语句,针对…

    2023年5月22日 我php路线
    027
  • php运算符优先级

    说明:括号优先,赋值最后

    2017年12月12日
    0288

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息