堆栈与排队?

Ada*_*han 9 php queue stack

你好我还是学生,我对堆叠和排队有点困惑?第一个问题是,

  1. 两者之间的主要差异是什么?

  2. 顺便说一下,正常排队旁边有循环排队怎么样?它们是如何工作的?有没有不同的排队方式?

  3. 即时通讯使用PHP,是否有一个简单(非常简单或易于阅读)的示例代码,我可以学习(链接也可以.)?

  4. 有pop,push等(堆叠和排队),在php中有类似的东西吗?

非常感谢您的关注.

Vol*_*erK 21

1:使用堆栈时,插入/删除操作都在数据结构的同一端工作(顶部)

对于队列,插入发生在一端(后面),另一端(前面)移除.

(两张图片均来自各自的维基百科条目)

2:见http://en.wikipedia.org/wiki/Circular_buffer

3:和4:查看SplStackSplQueue


tho*_*alt 7

在php中,您将使用array()来保存堆栈和队列的数据,并使用array_*函数来操作它们.看看php.net上的数组函数

你有

  • array_push - 在数组末尾放置一个新元素
  • array_pop - 从数组末尾删除一个元素
  • array_shift - 从数组的开头删除一个元素
  • array_unshift - 将一个新元素放在数组的开头.

  • 对于堆栈,您将使用array_push和array_pop

  • 对于队列,您可以使用array_push和array_shift

我将作为独立对象实现的循环缓冲区.