我想知道C++中下列问题最适合的数据结构是什么
我想存储 100 个按新近度排序的花车。因此,当我添加(推送)一个新项目时,其他元素会向上移动一个位置。每次触发事件时,我都会收到一个值,然后将其添加到我的数据结构中。
当元素数量达到 100 时,我想删除(弹出)末尾(最旧)的项目。
我希望能够遍历所有元素并对它们执行一些数学运算。
我查看了所有标准 C++ 容器,但没有一个能满足我的所有需求。使用标准 C++ 代码实现此目的的最简单方法是什么?
最佳答案
你想要一个循环缓冲区。您可以使用 Boost's implementation或者通过分配数组并跟踪使用范围的开始和结束来创建自己的数组。这归结为做索引模 100。
关于用于存储最新值的 C++ 固定大小容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026193/