我打算在 C++ 中使用两个映射,类型为:std::map<char, Node>
,Node
自定义类在哪里。假设我有两个映射,m1
并且是上述类型,我m2
想找出是否m1
包含. 换句话说,我想验证 和 的键集的交集与 的键集相同。m2
m1
m2
m2
我可以遍历所有键 inm2
并执行 a find()
or count()
on m1
,但这似乎是一种浪费,而且可能会很慢。我这样说是因为键在 an 中按排序顺序存储为二叉搜索树std::map
,因此每个 find/count 将采用 O(logn),对于 中的下一个键,键中m2
的相同路径m1
必须从头开始遍历。
我是 STL 的新手,所以请原谅我对似乎应该很容易做到的事情的无知。此外,一些简单的示例代码片段或指向代码片段的链接将非常有助于更好地理解。我不能使用非标准库,包括 boost。
提前致谢!