以下数据结构的正确名称是什么?它是:
- 一个固定大小的队列
- 新元素添加到开头
- 每当队列超过一定大小时,从末尾删除若干元素
"一个固定大小的FIFO队列"
有时称为缓冲区,有时称为环形缓冲区(因为这通常是它的实现方式)。我不知道有什么东西可以表示您批量删除项目的策略,尽管这并不罕见。
我认为这可能取决于实际的实现方式。你所描述的一个实际例子是循环缓冲区或环形缓冲区,当缓冲区满时,最旧的数据会被新数据覆盖。这将是在类似C的东西中实现这种数据结构的传统方法之一。
编辑:好吧,循环缓冲区不太适合。那么有限缓冲队列或有限容量队列怎么样?但这些并不能真正涵盖自我限制的方面...
自我限制的有限容量Bratt队列。
自动弹出...
我的观点是,我认为没有一个官方名称来描述你提到的确切属性的数据结构,因此你可以根据最接近它的数据结构进行创造一个名称,也许结合一些你的结构独特的属性。但它可能会变得相当冗长...
编辑:或者它可能是一个循环队列。文章将其描述为:
本文介绍了一个类似于System.Collections.Queue的队列,但它具有固定的缓冲区大小。这意味着,当缓冲区无法容纳所有添加到队列中的项目时,最旧的项目将被删除。听起来很像你的需求,而且也很简洁明了。