Heim  >  Artikel  >  Backend-Entwicklung  >  PHP双向队列实现代码

PHP双向队列实现代码

WBOY
WBOYOriginal
2016-07-25 09:13:11984Durchsuche

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP如何判断程序运行状态 Nächster Artikel:php精粹 php设计模式