STD库是否提供了允许我找到两个std :: hash_set交集的函数?
我尝试使用std::set_intersection
但我在Expression: sequence not ordered
时遇到断言错误,有没有解决此问题?
#include <hash_set>
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
int main()
{
std::hash_set<std::string> h1;
h1.insert("NoMainDraw");
h1.insert("NoLight");
h1.insert("Random");
std::hash_set<std::string> h2;
h2.insert("NoLight");
std::vector<std::string> groupDifference;
std::set_intersection(h1.cbegin(), h1.cend(),
h2.cbegin(), h2.cend(),
std::back_inserter(groupDifference));
for(const std::string& i : groupDifference)
{
std::cout << i << std::endl;
}
}
答案 0 :(得分:1)
您必须在另一个中迭代一个map
进行查找。没有标准库算法。