6

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

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

5 回答 5

2

“固定大小的 FIFO 队列”

有时是缓冲区,有时是环形缓冲区(通常是这样实现的)。我不知道有什么表明您批量删除项目的策略,尽管这并不少见。

于 2009-05-28T09:09:04.657 回答
1

它是一个循环缓冲区

于 2009-05-28T09:03:44.387 回答
1

我认为这可能取决于这个的实际实施。您描述的一个实际示例是循环缓冲区或环形缓冲区,一旦缓冲区已满,最旧的数据就会被新数据覆盖。这将是用 C 语言实现这种数据结构的传统方法之一。

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

自限有限容量 Bratt 队列。

自动弹出...

我的观点是,我不认为具有您提到的确切属性的数据结构的正式名称,因此您不妨根据最接近它的数据结构来组成一个,也许结合您的一些结构独特的属性。不过可能会很啰嗦……

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

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

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

于 2009-05-28T09:07:02.120 回答
0

在嵌入式系统中,这几乎被普遍称为循环缓冲区。

于 2009-05-29T17:18:06.403 回答
0

在硬件中,类似的结构称为移位寄存器

于 2009-05-28T09:08:21.740 回答