我有一个大小为2000的缓冲区,要插入的数据是无限的。我想要,超过2000的数据应该从缓冲区末尾添加,即将所有数据从右向左推送,并在缓冲区末尾插入新数据。那么,我应该尝试什么样的算法或流程?
最佳答案
您想要使用 FIFO 或“循环缓冲区”。请参阅http://en.wikipedia.org/wiki/Circular_buffer以获得完整的解释,甚至示例代码。
根据您的实际需求,实现方式可能会有所不同。例如,如果您始终需要按顺序访问 2000 个项目,则可以省略读指针(因为它始终位于写指针后面的一项)。
编辑:队列是类似的东西。如果您使用 C++,请考虑 http://www.cplusplus.com/reference/stl/queue/
关于c - c中的缓冲区管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12758919/