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