PHP双向队列实现代码

发布时间:2020-02-14编辑:脚本学堂
本文介绍了php实现双向队列的方法,一个php双向队列的实例代码,有需要的朋友参考学习下。

1,什么是双向队列

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

参考:http://zh.wikipedia.org/zh-cn/%E5%8F%8C%E7%AB%AF%E9%98%9F%E5%88%97

2,php实现双向队列的代码
 

复制代码 代码示例:

<?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);
    }
   
}