我正在学习循环队列。哪个实现循环队列最好,数组实现还是链表实现?循环队列的哪个实现最好?
回答
如果你在一个链表中做它,那么它实际上可以是循环的,因为最后一个节点将指向第一个节点。但我认为你需要澄清你的意思是“最好的”。
你好吗。但我们也可以对正常的队列程序做一些修改,以便当数组中的最后一个索引到达时,我们可以使数组索引指针指向第一个索引的数组。所以它可以完美地作为一个循环队列。 对于BEST的说明: 在数据访问速度和内存管理方面最好。 – NEO 2010-08-21 11:57:11
你还没有真正弄清楚你的意思是最好的:显然速度很重要,内存管理并不是一个指标。 Fyi,这也经常被称为环形缓冲区。 – 2010-08-21 20:57:52
我想说,链接列表版本将是两个解决方案中更好的一个事实,即您不必一直调整您自己的内存以允许更多元素进入您的阵列。以及Skilldrick在链接列表中所说的内容,它实际上指向它所属的位置(最后一个节点指向第一个,从而使其循环)。
这取决于您需要在循环列表中执行哪些操作。例如,如果您需要随机访问(“给我列表的第237项”),那么数组实现将会快得多。
另一方面,有了一个工具,你可能需要有时调整列表,这将是缓慢的。您可以将其分摊以获得每插入O(1)摊销时间,但在实时系统上,偶尔缓慢的操作可能是不可接受的。
循环队列是实现数组的有界队列。
它比普通的队列更好,因为在这里我们可以有效地利用内存空间。如果我们有一个普通队列并从那里删除了一些元素,那么会在那里创建空的空间,即使队列中有空单元,我们也不能插入任何新的元素,因为只能从一侧(即后面或尾部)进行插入,并且必须从另一侧(即前面或头部)完成删除。但是在循环排队的情况下,前面和后面彼此相邻。
- 1. 循环队列Python实现
- 2. 循环队列实现
- 3. 在visualbasic6中实现循环队列
- 4. 使用ArrayList实现循环队列
- 5. 作为“FIFO队列”的Javascript循环缓冲区队列实现
- 6. 如何优先使用循环队列在C++中实现队列实现?
- 7. 哪个循环更高效/最好 - 的foreach或while循环
- 8. 无锁队列实现最终有一个循环处于压力下
- 9. 哪个队列最合适?
- 10. 使用循环数组的队列实现:调整循环数组的大小的最佳方法是?
- 11. 在队列循环中找到最少
- 12. 循环队列Python
- 13. 队列实现
- 14. 为什么要将队列实现为循环数组?
- 15. 实现一个队列
- 16. 实现一个队列(fifo)
- 17. 哪个更好?循环内核或循环内核的CUDA GPU
- 18. PHP + MySQL的循环队列
- 19. C++中的循环队列
- 20. beanstalkd上的循环队列
- 21. C#中的循环队列#
- 22. 循环队列的缺点?
- 23. jQuery的循环队列
- 24. 循环队列和循环链表
- 25. 实现循环
- 26. 数千个任务的最佳循环队列?
- 27. 哪个更好的单例实现?
- 28. 使用最终变量实现循环
- 29. PHP队列实现
- 30. C#队列实现#
问题:什么样的熊最好? – NullUserException 2010-08-21 20:56:03
熊会吃你! – 2010-08-21 20:57:53
@Null这是一个荒谬的问题... – quantumSoup 2010-08-21 21:08:25