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

6
以下数据结构的正确名称是什么?它是:
  • 一个固定大小的队列
  • 新元素添加到开头
  • 每当队列超过一定大小时,从末尾删除若干元素

那么重点是元素被批量删除而不是逐个删除? - Vizu
你已经创建了该数据结构,现在只是试图为其找到一个合适的名称吗? - Xiaofu
@Vizu:是的,否则它将成为一个标准的环形缓冲区。 - Thomas Bratt
@Xiaofu:是的,我正在使用 .Net 列表,但它并不完全是一个循环缓冲区。 - Thomas Bratt
循环队列怎么样?请看下面。你还觉得它的名字应该有“自动弹出”吗? ;) - Xiaofu
5个回答

2

"一个固定大小的FIFO队列"

有时称为缓冲区,有时称为环形缓冲区(因为这通常是它的实现方式)。我不知道有什么东西可以表示您批量删除项目的策略,尽管这并不罕见。


1

我认为你可能是对的,尽管容量有所不同,而循环缓冲区具有固定的容量。 - Thomas Bratt

1

我认为这可能取决于实际的实现方式。你所描述的一个实际例子是循环缓冲区或环形缓冲区,当缓冲区满时,最旧的数据会被新数据覆盖。这将是在类似C的东西中实现这种数据结构的传统方法之一。

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

自我限制的有限容量Bratt队列。

自动弹出...

我的观点是,我认为没有一个官方名称来描述你提到的确切属性的数据结构,因此你可以根据最接近它的数据结构进行创造一个名称,也许结合一些你的结构独特的属性。但它可能会变得相当冗长...

编辑:或者它可能是一个循环队列。文章将其描述为:

本文介绍了一个类似于System.Collections.Queue的队列,但它具有固定的缓冲区大小。这意味着,当缓冲区无法容纳所有添加到队列中的项目时,最旧的项目将被删除。听起来很像你的需求,而且也很简洁明了。

0

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接