我有一些数据需要有效地存储和查找。最好使用 C。 数据文件的每一行都采用以下格式:
key1 key2 key3 data
其中 key1
、key2
、key3
是整数,data
是 float< 的数组
。
我正在考虑将 key1,2,3 转换为字符串,然后使用 C++ std::map
将字符串映射到浮点指针:
std::map<string, float*>
有更好的方法吗?
注意:整数 key1,2,3 的范围是 0-4000,但非常稀疏。换句话说,如果你遍历 key1 中的所有值,你会发现 < 100 个在 0-4000 范围内的唯一整数。
最佳答案
您可以使用 std::tuple
将三个值合二为一:
std::map<std::tuple<int, int, int>, float *>
关于c++ - 通过 3 int 查找值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11911125/