用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实现代码

class DoubleQueue  
{ 
    public $queue = array(); 
    
    /**(尾部)入队  **/ 
    public function push($value)  
    { 
        return array_push($this->queue,$value); 
    } 
    /**(尾部)出队**/ 
    public function pop()  
    { 
        return array_pop($this->queue); 
    } 
    /**(头部)入队**/ 
    public function enq($value)  
    { 
        return array_unshift($this->queue,$value); 
    } 
    /**(头部)出队**/ 
    public function deq()  
    { 
        return array_shift($this->queue); 
    } 
    /**清空队列**/ 
    public function empty()  
    { 
        unset($this->queue);
    } 
    
    /**获取列头**/
    public function first()  
    { 
        return reset($this->queue); 
    } 

    /** 获取列尾 **/
    public function last()  
    { 
        return end($this->queue); 
    }

    /** 获取长度 **/
    public function length()  
    { 
        return count($this->queue); 
    }
    
} 

 

用PHP实现一个双向队列,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。