C ++中类似数据库的搜索算法

时间:2011-12-07 21:55:36

标签: c++ search

我有一组对象。每个对象由~4个参数描述(假设有两个整数和两个字符串)。如何在C ++中实现此集合,以便能够通过指定search-criterias快速查找这些对象的子集,即“查找第一个参数等于1的所有对象”,或“搜索第二个参数等于'foo'的所有对象” “(始终使用单参数查询执行查找:parameter=value)。我应该有4个std::maps,以便在O(logn)中执行每个基于参数的查找吗?如果我添加另一个参数和另一个参数会怎

这个问题是否有现成的解决方案?

2 个答案:

答案 0 :(得分:0)

数据的一个数组,索引的四个哈希表(std::tr1::unordered_map)。

答案 1 :(得分:0)

你应该尝试Boost Multi Index,这只是为了这种事情。

相关问题