我试图用C ++代码表示关系(表):
有效实施的任何想法,这里的主要问题是在插入时检测重复,这可能是非常昂贵的。
答案 0 :(得分:1)
将表格的每一行设为struct Row
。
使用std::set
或std::unordered_set
存储这些结构。冲突(查询)可以在(std::set
)O(log n + d)时间内检测到(或std::unordered_set
)摊销的O(d)时间,其中d是列数。
要有效地从名称映射到行,请创建boost::bimap<std::string, Row>
。
答案 1 :(得分:0)
KennyTM有一点意见。您可以使用SQLite。如链接中所述,您可以使用它来创建临时内存数据库。