Метод contains
Метод contains класса set проверяет, содержится ли
заданный элемент в множестве. Если элемент присутствует,
метод возвращает true, иначе - false. В параметр
мы передаем значение, наличие которого нужно проверить
в контейнере. Метод добавлен в стандарт C++20.
Синтаксис
set.contains(value)
Пример
Давайте создадим множество с несколькими числами
и проверим, содержится ли в нем число 3:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> st = {1, 2, 3, 4, 5};
cout << st.contains(3) << endl;
return 0;
}
Результат выполнения кода:
1
Пример
А теперь проверим наличие числа 6,
которого нет в множестве:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> st = {1, 2, 3, 4, 5};
cout << st.contains(6) << endl;
return 0;
}
Результат выполнения кода:
0
Пример
Метод contains удобно использовать в условии.
Проверим, есть ли строка "abcde" во множестве строк:
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main()
{
set<string> st = {"abcde", "12345"};
if (st.contains("abcde")) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
return 0;
}
Результат выполнения кода:
"yes"