php实现双向队列详解,PHP实现一个双向队列例子
deque,全名double-ended queue,是一種具有隊列和棧的性質的數據結構。雙端隊列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙向隊列(雙端隊列)就像是一個隊列,但是你可以在任何一端添加或移除元素。
雙端隊列(deque)是由一些項的表組成的數據結構,對該數據結構可以進行下列操作:
push(D,X) 將項X 插入到雙端隊列D的前端
pop(D) 從雙端隊列D中刪除前端項并將其返回
inject(D,X) 將項X插入到雙端隊列D的尾端
eject(D) 從雙端隊列D中刪除尾端項并將其返回
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); } } 例子 編寫支持雙端隊伍的例程,每種操作均花費O(1)時間
| |||||
總結
以上是生活随笔為你收集整理的php实现双向队列详解,PHP实现一个双向队列例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python编写最简单的记事本_Pyt
- 下一篇: php server自定义函数,php: