你好,我还是一个学生,我对堆叠和排队有点困惑?第一个问题是,1.他们两个之间的主要区别是什么?1.顺便说一句,除了正常排队外,还有循环排队,那怎么样?它们是如何工作的?有没有不同的排队方式?1.我在使用php,有没有一个简单的(非常简单或容易阅读)示例代码,我可以学习(链接也可以)?1.有pop,push和etc(堆叠和排队),在php中有类似的东西吗?非常感谢你的来访。
insrf1ej1#
1:当使用堆栈时,插入/移除操作都在数据结构的同一端(顶部)工作
对于队列,插入发生在一端(后端),而移除发生在另一端(前端)。
(Both图片来自各自的维基百科条目)2:参见http://en.wikipedia.org/wiki/Circular_buffer3:和4:参见SplStack和SplQueue
yfjy0ee72#
在php中,您可以使用array()来保存堆栈和队列的数据,并使用array_* 函数来操作它们。您已
一个循环缓冲区,我将实现为一个独立的对象。
enyaitl33#
看起来你正被引导到先进先出和后进先出队列之间的区别。堆栈是前者,循环队列是后者的有效实现。
kdfy810k4#
stack从同一端添加和删除项。queue将项目添加到后面,并从前面删除项目(就像银行中的一行)。有一个article about them both,用代码示例详细解释。circular buffer的空间有限,并且以循环方式不断添加项目,覆盖末尾的项目。
uurv41yg5#
http://www.php.net/manual/en/function.array-push.phphttp://php.net/manual/en/function.array-pop.php您可以查看此处的示例代码
bybem2ql6#
这只是第一个问题的答案,帖子很旧了,但还是想分享,因为我喜欢这张图片,尽管试管通常是用来装液体的:)
e4eetjau7#
Stack是一个DS,其中的元素只能从一侧插入和删除。它遵循LIFO原则,即后进先出。想象一下一堆书,你只能挑选出你最后放置的那本书,也就是栈顶的那本书。队列是一个数据结构,其中的元素可以从一端插入,从另一端删除,它遵循先进先出的原则;先进先出。2想象一下在快餐店排队的情形,先站的人应该先得到服务。循环队列是一种特殊类型的队列,它的第一个元素和最后一个元素是相连的。这种修改确保了队列中没有空闲空间,并且每个元素都得到了利用。这是一个很好的PHP资源:https://www.php.net/manual/en/function.array-push.php
7条答案
按热度按时间insrf1ej1#
1:当使用堆栈时,插入/移除操作都在数据结构的同一端(顶部)工作
对于队列,插入发生在一端(后端),而移除发生在另一端(前端)。
(Both图片来自各自的维基百科条目)
2:参见http://en.wikipedia.org/wiki/Circular_buffer
3:和4:参见SplStack和SplQueue
yfjy0ee72#
在php中,您可以使用array()来保存堆栈和队列的数据,并使用array_* 函数来操作它们。
您已
一个循环缓冲区,我将实现为一个独立的对象。
enyaitl33#
看起来你正被引导到先进先出和后进先出队列之间的区别。堆栈是前者,循环队列是后者的有效实现。
1.您可以使用circular queue-这在通信接口缓冲区中最为常见,因为它们的内存有限,数据以异步方式传入,并且CPU在不同时间读取数据。
1.如果您非常了解自己的语言,则可以使用任何语言创建队列。
kdfy810k4#
stack从同一端添加和删除项。
queue将项目添加到后面,并从前面删除项目(就像银行中的一行)。
有一个article about them both,用代码示例详细解释。
circular buffer的空间有限,并且以循环方式不断添加项目,覆盖末尾的项目。
uurv41yg5#
http://www.php.net/manual/en/function.array-push.php
http://php.net/manual/en/function.array-pop.php
您可以查看此处的示例代码
bybem2ql6#
这只是第一个问题的答案,帖子很旧了,但还是想分享,因为我喜欢这张图片,尽管试管通常是用来装液体的:)
e4eetjau7#
Stack是一个DS,其中的元素只能从一侧插入和删除。它遵循LIFO原则,即后进先出。想象一下一堆书,你只能挑选出你最后放置的那本书,也就是栈顶的那本书。
队列是一个数据结构,其中的元素可以从一端插入,从另一端删除,它遵循先进先出的原则;先进先出。2想象一下在快餐店排队的情形,先站的人应该先得到服务。
循环队列是一种特殊类型的队列,它的第一个元素和最后一个元素是相连的。这种修改确保了队列中没有空闲空间,并且每个元素都得到了利用。
这是一个很好的PHP资源:https://www.php.net/manual/en/function.array-push.php