Библиотека C ++ - <набор>
Введение
А set- это ассоциативный контейнер, который содержит отсортированный набор уникальных объектов типа Key. Каждый элемент может встречаться только один раз, поэтому дублирование не допускается.
Существует четыре вида ассоциативных контейнеров: набор, мультимножество, карта и мультимарка.
Значение элементов в наборе не может быть изменено один раз в контейнере, т. Е. Элементы всегда являются константными. Но их можно вставлять или вынимать из контейнера.
Контейнеры set обычно медленнее, чем контейнеры unordered_set, при доступе к отдельным элементам по их ключу, но они допускают прямую итерацию по подмножествам на основе их порядка.
Определение
Ниже приведено определение std :: set из заголовочного файла <set>.
template <
class Key,
class Compare = std::less<Key>,
class Allocator = std::allocator<Key>
> class set;
Параметры
Key - Тип содержащегося элемента.
Ключ может быть заменен любым другим типом данных, включая тип, определенный пользователем.
Типы участников
Следующие типы членов могут использоваться функциями-членами в качестве параметров или возвращаемого типа.
Sr. No. | Типы участников | Определение |
---|---|---|
1 | key_type | Ключ |
2 | тип ценности | Ключ |
3 | Справка | Распределитель :: ссылка тип ценности& |
4 | const_reference | Распределитель :: const_reference const value_type & |
5 | указатель | Распределитель :: указатель std :: allocator_traits <Allocator> :: pointer |
6 | const_pointer | Распределитель :: const_pointer std :: allocator_traits <Allocator> :: const_pointer |
7 | итератор | BidirectionalIterator |
8 | const_iterator | константа BidirectionalIterator |
9 | reverse_iterator | std :: reverse_iterator <итератор> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | size_type | Беззнаковый целочисленный тип (std :: size_t) |
12 | разница_тип | Знаковый целочисленный тип (std :: ptrdiff_t) |
13 | key_compare | Сравнить |
14 | value_compare | Сравнить |
15 | allocator_type | Распределитель |
Функции из <set>
Ниже приведен список всех методов из заголовка <set>.
ЧЛЕНСКИЕ ФУНКЦИИ
DEFAULT MEMBER FUNCTIONS
Sr. No. | Метод и описание |
---|---|
1 | Конструктор по умолчанию Создает заданный контейнер. |
2 | Конструктор диапазона Создает установленный контейнер с содержимым диапазона. |
3 | Конструктор копирования Создает контейнер набора с копией другого набора. |
4 | Конструктор перемещения Создает контейнер набора с содержимым другого набора, используя семантику перемещения. |
5 | Конструктор списка инициализаторов Создает установленный контейнер с содержимым списка инициализатора. |
6 | (деструктор) Разрушает установленный контейнер. |
7 | оператор = Присваивает значения установленному контейнеру. |
ИТЕРАТОРЫ
Sr. No. | Метод и описание |
---|---|
1 | set :: begin Возвращает итератор в начало. |
2 | set :: cbegin Возвращает константный итератор в начало. |
3 | set :: end Возвращает итератор в конец. |
4 | set :: cend Возвращает константный итератор в конец. |
5 | set :: rbegin Возвращает обратный итератор в обратное начало. |
6 | set :: crbegin Вернуть константный обратный итератор в обратное начало |
7 | set :: rend Возвращает обратный итератор в обратный конец. |
8 | set :: crend Возвращает константный обратный итератор в обратный конец. |
ВМЕСТИМОСТЬ
Sr. No. | Метод и описание |
---|---|
1 | set :: empty Возвращает, если установленный контейнер пуст. |
2 | set :: size Возвращает количество элементов в заданном контейнере. |
3 | set :: max_size Возвращает максимальное количество элементов, которое может содержать установленный контейнер. |
МОДИФИКАТОРЫ
Sr. No. | Метод и описание |
---|---|
1 | set :: clear Удаляет все элементы из установленного контейнера. |
2 | set :: insert Вставляет новый элемент в заданный контейнер. |
3 | set :: emplace Вставляет новый элемент в набор, если он уникален. |
4 | set :: emplace_hint Вставляет новый элемент в набор, если он уникален, с подсказкой о позиции вставки. |
5 | set :: erase Удаляет один элемент или ряд элементов из заданного контейнера. |
6 | set :: swap Заменяет содержимое контейнера содержимым другого установленного контейнера того же типа. |
ИСКАТЬ
Sr. No. | Метод и описание |
---|---|
1 | set :: count Возвращает количество элементов с совпадающим значением в заданном контейнере. |
2 | set :: find Ищет значение в заданном контейнере и возвращает ему итератор, если он найден, иначе возвращает итератор для set :: end. |
3 | set :: lower_bound Возвращает итератор, указывающий на первый элемент в заданном контейнере, который не считается предшествующим значению. |
4 | set :: upper_bound Возвращает итератор, указывающий на первый элемент в заданном контейнере, который считается идущим после значения. |
5 | set :: equal_range Возвращает границы диапазона, который включает все элементы в контейнере набора, эквивалентные значению. |
НАБЛЮДАТЕЛИ
Sr. No. | Метод и описание |
---|---|
1 | set :: key_comp Возвращает копию объекта сравнения, используемого заданным контейнером. |
2 | set :: value_comp Возвращает копию объекта сравнения, используемого заданным контейнером. |
АЛЛОКАТОР
Sr. No. | Метод и описание |
---|---|
1 | set :: get_allocator Возвращает копию объекта распределителя, связанного с установленным контейнером. |