(实用篇)PHP实现队列及队列原理

队列说明

队列是一种线性表,按照先进先出的原则进行的:

640-webp

实现队列

PHP实现队列:第一个元素作为队头,最后一个元素作为队尾

<?php
/**
 * 队列就是这么简单
 * 
 * @link
 */
$array =  array('PHP', 'JAVA');
array_push($array, 'PYTHON'); //入队列
array_shift($array); //出队列

什么是双端队列(或双向队列)Deque,全名double-ended queue?

即元素可以在队列的任意一段入队或出队,如果我们把这些方法叫做insertLeft()和insertRight(),以及removeLeft()和removeRight()。如果严格禁止调用insertLeft()和removeLeft()方法(或禁用右段的操作),双端队列功能就和栈一样。禁止调用insertLeft()和removeRight()(或相反的另一对方法),它的功能就和队列一样了。双端队列与栈或队列相比,是一种多用途的数据结构。

PHP实现双端队列

<?php
class Deque  
{ 
    public $queue = array(); 
    
    /**(尾部)入队  **/ 
    public function addLast($value)  
    { 
        return array_push($this->queue,$value); 
    } 
    /**(尾部)出队**/ 
    public function removeLast()  
    { 
        return array_pop($this->queue); 
    } 
    /**(头部)入队**/ 
    public function addFirst($value)  
    { 
        return array_unshift($this->queue,$value); 
    } 
    /**(头部)出队**/ 
    public function removeFirst()  
    { 
        return array_shift($this->queue); 
    } 
    /**清空队列**/ 
    public function makeEmpty()  
    { 
        unset($this->queue);
    } 
    
    /**获取列头**/
    public function getFirst()  
    { 
        return reset($this->queue); 
    } 
 
    /** 获取列尾 **/
    public function getLast()  
    { 
        return end($this->queue); 
    }
 
    /** 获取长度 **/
    public function getLength()  
    { 
        return count($this->queue); 
    }
    
}

队列的用途:

队列可以很好地异步处理数据传送和存储,当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据,就可采取队列来异步插入。另外,还可以将较慢的处理逻辑、有并发数量限制的处理逻辑,通过消息队列放在后台处理,例如FLV视频转换、发送手机短信、发送电子邮件等。

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/1434.html

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

(0)
上一篇 2016年10月26日 08:12
下一篇 2016年10月26日 08:34

相关推荐

  • 关于PHP打印格式化显示利器

    当我们调试php代码的时候,会使用var_dump、print_r 输出结果,输出的时候需要格式化。格式化后的结果echo "<pre>";$arr=[3,1,5,8]; print_r($arr);不格式化后的结果$arr=[3,1,5,8]; print_r($ar...

    2022年6月27日
    0167
  • 在PHP中实现微信商城订单管理

    随着电子商务的发展,越来越多的商家选择在微信平台上开设自己的商城。然而,如何高效地管理订单成为商家面临的一个难题。PHP作为目前最流行的开发语言,在实现微信商城订单管理方面也有着很好的表现。接下来,本...

    2023年5月18日
    03
  • ES在MySQL、PHP中的使用

    ES简介一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位...

    2022年6月19日
    0159
  • 为什么要使用PHP框架。

    PHP是一种服务器端脚本语言,用于开发动态网站和应用程序。PHP的广泛使用销量超过80%的网络服务器,因此它是Web开发的一个重要组成部分。开发人员可以利用PHP来快速构建功能强大的Web应用程序,但是,如果不使用...

    2023年6月3日
    02
  • 在PHP中实现微信公众号信息流广告监测

    随着微信公众号的普及和发展,越来越多的广告主选择在微信公众号上进行广告投放。然而,如何有效地监测广告效果成为了广告主的一大难题。本文将介绍如何在PHP中实现微信公众号信息流广告监测。1.了解微信公众号信...

    2023年5月18日
    00
  • 使用PHP开发微信小程序电商平台

    随着移动互联网的发展,微信已经成为了人们生活中不可或缺的一部分。而微信小程序也越来越受到人们的关注和使用。小程序的快速发展也带来了越来越多的商机。电商平台是其中之一。 在本文中,我们将介绍如何使用PH...

    2023年5月18日
    03
  • 如何在PHP中使用WebStorm函数。

    在今天的互联网开发中,PHP是非常流行的一种编程语言,并主要用于Web开发。WebStorm是一个非常常用的集成开发环境(IDE),让你可以轻松地编写并调试PHP代码。WebStorm自带了很多有用的功能,其中就包括许多PHP开...

    2023年5月23日
    01
  • PHP函数的说明

    函数的调用者把实际的数据传递给函数的形参,这个时候的形参只能在函数内使用。 函数在运行代码时会新建一个新空间来运行函数内的代码 运行代码后,如果有返回值,把结果返回给函数的调用者,这个时候运行函数的...

    2018年4月4日
    0228

联系我们

QQ:951076433

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