Сравнение множеств С++
void compareset(set<string> A, set<string> B) {
vector <string> H;
set<string> ::iterator it1; // объявляем итератор
set<string> ::iterator it2;
for (it1 = A.begin(),it2 = B.begin(); it1 != A.end() && it2 != B.end(); ++it1, ++it2) // пока итератор не достигнет последнего элемента
{
if (*it1==*it2) H.push_back(*it1);// и переходим к следующему элементу
;
}
for (string i : H) {
cout << i;
}
}
Мне нужно сделать функцию,которая сравнивает два множества(set) и в вектор записывает общие элементы.Желательно не использовать методы по типу intersection,find,count и тд.Мне нужно вручную с помощью итераторов это сделать.У меня не особо получается...
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
По идее, должно работать вот так:
for (auto &x : A)
if (B.count(x))
H.push_back(x);