C ++ 0x представляет три алгоритма, которые вы можете проверить: all_of
, any_of
и none_of
.
#include <algorithm>
#include <functional>
for (vector<string>::size_type i = 0; i < words.size(); ++i)
{
if (any_of(disliked.begin(),
disliked.end(),
bind2nd(equal_to<string>(), words[i])))
{
cout << "BLEEP" << " ";
}
else
{
cout << words[i] << " ";
}
}
Но, как уже отмечал Алексей, в данном конкретном случаеВы, вероятно, лучше с std::set
.Вы также можете сделать binary_search
для вектора, но затем вы должны убедиться, что он отсортирован.
(Также обратите внимание, что я изменил тип счетчика цикла с int
на vector<string>::size_type
.)