Библиотека 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

Возвращает копию объекта распределителя, связанного с установленным контейнером.