欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP双向队列实现代码

程序员文章站 2022-03-30 21:37:21
...

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. }
复制代码