php双向队列实例讲解

本文介绍了PHP双向队列的概念,它结合了队列和栈的特性,允许在两端进行插入和删除操作。文中提供了相关实例和双端队列(deque)的应用,帮助读者理解和运用。
摘要由CSDN通过智能技术生成

在本篇文章里小编给大家整理的是一篇关于php双向队列如何理解的相关内容及实例,需要的朋友们可以跟着学习下。

1、双向队列是指一种具有队列和栈的性质的数据结构。

2、双向队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。

双向队列就像是一个队列,但是你可以在任何一端添加或移除元素。

实例

<?php
class DoubleQueue
{
    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);
    }
}

实例扩展:

(deque,全名double-ended queue)是一种具有队列和栈的性质的数据结构。双向队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。

在实际使用中,还可以有输出受限的双向队列(即一个端点允许插入和删除,另一个端点只允许插入的双向队列)和输入受限的双向队列(即一个端点允许插入和删除,另一个端点只允许删除的双向队列)。而如果限定双向队列从某个端点插入的元素只能从该端点删除,则该双向队列就蜕变为两个栈底相邻的栈了。http://www.hnxxrsj.gov.cn/Error.aspx?msg=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%AC%E5%8F%B8%E5%AE%A2%E6%9C%8D%E5%BC%80%E6%88%B7--%E5%BE%AE%E4%BF%A1kka9333
http://www.hnxxrsj.gov.cn/Error.aspx?msg=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%AC%E5%8F%B8%E5%AE%A2%E6%9C%8D%E4%B8%AD%E5%BF%83--%E5%BE%AE%E4%BF%A1kka9333
http://www.hnxxrsj.gov.cn/Error.aspx?msg=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%AC%E5%8F%B8%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%9C%8D--%E5%BE%AE%E4%BF%A1kka9333
http://www.hnxxrsj.gov.cn/Error.aspx?msg=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%AC%E5%8F%B8%E5%AE%A2%E6%9C%8D%E7%94%B5%E8%AF%9D--%E5%BE%AE%E4%BF%A1kka9333
http://www.hnxxrsj.gov.cn/Error.aspx?msg=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值