在循环队列中Front ==后面会发生什么

时间:2010-05-27 22:54:10

标签: data-structures queue

当前面==后面的循环队列

时会发生什么

队列有一个元素或已满或是空的

2 个答案:

答案 0 :(得分:6)

这是模棱两可的。您需要另一种机制来跟踪队列是否已满。请参阅Wikipedia page上的“困难”部分进行讨论。

引用该页面,这里有一些关于如何解决它的想法:

  

要解决这个问题,有一个   解决方案数量:
   - 始终保持一个插槽打开    - 使用填充计数来区分这两种情况    - 使用读取和写入计数来获取填充计数。
   - 使用绝对指数

答案 1 :(得分:0)

取决于前端和后端指向的位置:数组元素或堆上某处的对象。 (你没有提到你的编程语言。)

如果您的编程语言nil不等于nil,则您的循环对象队列将具有一个元素。但是,如果nil == nil评估为true ......你无法告诉:-)

在通过数组实现队列的情况下,您也无法告诉它。你的队列也可能已满......