The*_*ack 1 c++ vector multidimensional-array large-data
我需要处理最多1亿行和30列的数据表(2D).表元素仅包含0,1和短划线( - ).该表在文本文件中提供给我.我必须将这些数据存储到某些数据结构中,并执行诸如对表进行排序,删除行,比较元素(在不同的行和列中)等操作.
目前我正在使用2D矢量.我尝试使用整数向量和位向量.两者都适用于10mil行和25列但不适用于上述最大限制(我有一个错误的alloc).
我假设这是因为向量需要连续的内存.什么是正确的数据结构?时间也是我的考虑因素之一,也希望访问时间较短.另外,如果向量实际上是正确的数据结构,那么我可以使用更好的实现来使其工作吗?我必须坚持使用C++,不能使用数据库和东西.
非常感谢!
看看Nstate.
它是一个用于任意基数的Packed Arrays库(所以三态有资格).
免责声明:我写了nstate.