如何检查两个空的交叉点std::set
?我可以使用set_intersection
,但这是不必要的慢,我只需要bool
回答.
备注:std::set
表示有序集,它们属于同一类型等.
只是自己编码有什么问题吗?
bool empty_intersection(const set<int>& x, const set<int>& y)
{
std<int>::const_iterator i = x.begin();
std<int>::const_iterator j = y.begin();
while (i != x.end() && j != y.end())
{
if (*i == *j)
return false;
else if (*i < *j)
++i;
else
++j;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
无论如何都是这样的.完全未经测试的代码.