-2

我有一个大小为 2000 的缓冲区,要插入的数据是无限的。我想,超过2000的数据应该从缓冲区末尾添加,即从右向左推送所有数据并在缓冲区末尾插入新数据。那么,我应该尝试什么样的算法或流程?

4

1 回答 1

2

您想使用 FIFO 或“循环缓冲区”。请参阅http://en.wikipedia.org/wiki/Circular_buffer以获得完整的解释,甚至是示例代码。

根据您的实际需要,实现可能会有所不同。例如,如果您总是需要按顺序访问 2000 个项目,则可以省略读指针(因为它总是在写指针后面一个项目)。

编辑:队列是类似的东西。如果您使用 C++,请考虑http://www.cplusplus.com/reference/stl/queue/

于 2012-10-06T10:28:08.733 回答