固定大小的FIFO队列的正确术语是什么?

时间:2009-05-28 08:44:37

标签: data-structures queue collections fifo

以下数据结构的正确名称是什么?它是:

  • 固定大小的队列
  • 新元素添加到开头
  • 每当队列超过一定大小时,就会从末尾删除许多元素

5 个答案:

答案 0 :(得分:2)

“固定大小的FIFO队列”

有时是缓冲区,有时是环形缓冲区(因为它通常是如何实现的)。我不知道任何表示你批量移除物品的策略,尽管这并不罕见。

答案 1 :(得分:1)

答案 2 :(得分:1)

我认为这可能取决于实际的实施情况。您描述的实际示例是Circular Buffer或环形缓冲区,其中一旦缓冲区已满,新数据将覆盖最旧的数据。这将是在C之类的实现这种数据结构的传统方式之一。

编辑:好的,所以循环缓冲区不太适合。 有限缓冲区队列有限容量队列怎么样?但那些并不能真正涵盖自我限制的方面......

自限性有限容量Bratt队列。

自动弹出...

我的观点是,我不认为你提到的完全属性的数据结构有正式名称,所以你不妨根据最近的数据结构建立一个类似于它,也许与你的一些结构的独特属性相结合。虽然......可能会很啰嗦。

编辑:或者它可能是Cyclic Queue。文章将其描述为:

  

本文描述了一个类似于System.Collections.Queue的队列,但它具有>固定的缓冲区大小。当然,这意味着缓冲区不能足够大以至于>保留添加到队列中的所有项目,在这种情况下,最旧的项目将被删除。

......这听起来很像你的。简洁又简洁。

答案 3 :(得分:0)

在硬件中,类似的结构称为shift register

答案 4 :(得分:0)

在嵌入式系统中,这通常被称为循环缓冲区。