Доброе время суток
Давеча попался мне вопрос один, на который я не могу найти ответ и поэтому он меня мучает...
You need to define the following function so that is will return true if the sets passed to it have any intersection and false otherwise:
template <class T>
bool hasIntersection(std::vector<T>& set1, std::vector<T>& set2);
Reffering to the scenario above, which one of the following STL functions can be used to to implement hasIntersection
1)std::search_n
2)std::find_first_of
3)std::equal
4)std::nth_element
5)std::adjacent_find
Насколько мне известно, все вышеперечисленные функции принимают предикат, в который передается один элемент, а не целая пачка, что я первым делом проверил, поискав сигнатуры оных. Да и как там может быть, что алгоритмы работают поитераторно, а передается целый контейнер?
Есть мысль — что этот самый контейнер и есть элемент какого-то другого контейнера, по которому и бежит итератор. тогда думаю в сторону find_first_of
А если нет — тогда adjacent_find
Вобщем, я запутался. Подскажите....