Set – это множество, которое содержит несколько отсортированных элементов. При добавлении нового элемента в множество он сразу становится на свое место так, чтобы не нарушать порядка сортировки. Множества содержат только уникальные элементы, а мультимножества могут содержать дубликаты. Операции поиска, удаления и вставки имеют логарифмическую сложность.
Для использования множеств необходимо подключить библиотеку “set”:
Объявление множества:
set<int> mySet; // Объявление пустого множества.
multiset<int> mySet; // Объявление пустого мультимножества.
Функции:
empty - Проверяет отсутствие элементов в контейнере
size - Возвращает количество элементов в контейнере
clear - Очищает контейнер
insert - Вставляет элементы
erase - Удаляет элементы
count - Возвращает количество элементов, соответствующих определенному ключу
find - Находит элемент с конкретным ключом
lower_bound - Возвращает итератор на первый элемент не менее, чем заданное значение
upper_bound - Возвращает итератор на первый элемент больше, чем определенное значение
Пример использования множества и мультимножества:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> mySet1; // объявили пустое множество
multiset<int> mySet2; // объявили пустое мультимножество
// добавляем элементы в множество
mySet1.insert(1);
mySet1.insert(2);
mySet1.insert(3);
mySet1.insert(1);
// добавляем элементы в мультимножество
mySet2.insert(1);
mySet2.insert(2);
mySet2.insert(3);
mySet2.insert(1);
set<int>::iterator it; //создание итератора
for(it = mySet1.begin(); it != mySet1.end(); it++) { // Вывод всех элементов
cout << (*it) << “ ”; // множества
}
cout << endl;
for(it = mySet2.begin(); it != mySet2.end(); it++) { // Вывод всех элементов
cout << (*it) << “ ”; // мультимножества
}
return 0;
}