当前位置:Gxlcms > PHP教程 > PHP双向队列实现代码

PHP双向队列实现代码

时间:2021-07-01 10:21:17 帮助过:22人阅读

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实现双向队列的代码

  1. class DoubleQueue

  2. {
  3. public $queue = array();
  4. /**(尾部)入队 **/
  5. public function addLast($value)
  6. {
  7. return array_push($this->queue,$value);
  8. }
  9. /**(尾部)出队**/
  10. public function removeLast()
  11. {
  12. return array_pop($this->queue);
  13. }
  14. /**(头部)入队**/
  15. public function addFirst($value)
  16. {
  17. return array_unshift($this->queue,$value);
  18. }
  19. /**(头部)出队**/
  20. public function removeFirst()
  21. {
  22. return array_shift($this->queue);
  23. }
  24. /**清空队列**/
  25. public function makeEmpty()
  26. {
  27. unset($this->queue);
  28. }
  29. /**获取列头**/
  30. public function getFirst()
  31. {
  32. return reset($this->queue);
  33. }

  34. /** 获取列尾 **/

  35. public function getLast()
  36. {
  37. return end($this->queue);
  38. }

  39. /** 获取长度 **/

  40. public function getLength()
  41. {
  42. return count($this->queue);
  43. }
  44. }

人气教程排行