4

我正在处理要按顺序访问的数百万个数据元素。元素很少增长和缩小,但以可预测的方式以已知的块大小这样做​​。

我正在寻找一个类似于 std::vector 的高效集合,它不会重新分配而是将数据保存在多个内存块中。每当我将更多对象推入集合时,如果最后一个块用尽,则会创建并填充一个新块。我不热衷于拥有随机访问运营商。由于性能问题和一些超出手头问题范围的其他问题,我无法使用 std::list 。

是否有适合我在 boost 或任何其他库中的要求的现成集合。在我尝试自己做饭之前,我想确保架子上没有任何可用的东西。

4

1 回答 1

1

在我看来,您最好的选择是将许多std::vectors 存储在 B-Tree 中。B-Tree 允许您在树遍历期间引用内存中的区域而无需实际访问它们,从而允许最小的文件访问。

于 2013-05-10T17:41:51.293 回答