9

2 つの s の空の交差を確認するにはどうすればよいstd::setですか? を使用できますが、それは不必要に遅いため、回答set_intersectionするだけで済みます。bool

備考:std::set順序集合を意味し、それらは同じ型などです。

4

1 に答える 1

11

自分でコーディングするだけで何か問題がありますか?

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;
}

とにかくそのような何か。完全にテストされていないコード。

于 2012-10-17T18:07:59.947 に答える