在 C++ 中存储多维数据的最佳方式是什么?
我正在寻找一些动态数据结构而不是静态多维数组,因为要存储在结构中的元素数量无法预先确定。
此外,我正在寻找一种可以最小化内存成本并提供更快查找的数据结构。是否有任何现成的数据结构,或者我必须实现一些基于树的多维数据结构?
编辑:我必须在某种数据结构中存储多维流数据。例如,数据流的形式为:(key1, key2, key3, value1), (key1, key2, key3, value2), (key1, key2, key3, value3), ...
稍后我想根据不同的键搜索数据。
I have to store multi-dimensional stream data in some data structure. E.g., the data stream is of the form: (key1, key2, key3, value), (key1, key2, key3, value), (key1, key2, key3, value), ...
Later I would like to search the data with respect to different keys.
boost::multiindex
允许向您的容器添加不同种类的索引。
这是一个相当复杂的库,要适应它可能会有点痛苦。但这是值得的,因为它解决的问题很常见。