Учебники

Библиотека C ++ —

Набор — это ассоциативный контейнер, который содержит отсортированный набор уникальных объектов типа Key. Каждый элемент может встречаться только один раз, поэтому дублирование не допускается.

Существует четыре вида ассоциативных контейнеров: set, multiset, map и multimap.

Значение элементов в наборе нельзя изменить один раз в контейнере, т. Е. Элементы всегда являются постоянными. Но они могут быть вставлены или удалены из контейнера.

Контейнеры set обычно медленнее, чем контейнеры unordered_set, обращаются к отдельным элементам по их ключу, но они допускают прямую итерацию для подмножеств в зависимости от их порядка.

Определение

Ниже приведено определение std :: set из заголовочного файла <set>

template < 
    class Key,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<Key>
> class set;

параметры

  • Ключ — тип элемента, который содержится.

    Ключ может быть заменен любым другим типом данных, включая определенный пользователем тип.

Ключ — тип элемента, который содержится.

Ключ может быть заменен любым другим типом данных, включая определенный пользователем тип.

Типы участников

Следующие типы элементов могут использоваться в качестве параметров или типа возврата функциями-членами.

Sr.No. Типы участников Определение
1 key_type ключ
2 тип ценности ключ
3 ссылка Распределитель :: ссылки

тип ценности&

4 const_reference Распределитель :: const_reference

const value_type &

5 указатель Распределитель :: указатель

СТД :: allocator_traits <Allocator> :: указатель

6 const_pointer Распределитель :: const_pointer

станд :: allocator_traits <Allocator> :: const_pointer

7 итератор BidirectionalIterator
8 const_iterator константа двунаправленного интерфейса
9 reverse_iterator std :: reverse_iterator <итератор>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 size_type Целочисленный тип без знака (std :: size_t)
12 difference_type Целочисленный тип со знаком (std :: ptrdiff_t)
13 key_compare сравнить
14 value_compare сравнить
15 allocator_type Распределитель

тип ценности&

const value_type &

СТД :: allocator_traits <Allocator> :: указатель

станд :: allocator_traits <Allocator> :: const_pointer

Функции из <set>

Ниже приведен список всех методов из заголовка <set>.

ЧЛЕН ФУНКЦИИ

УЧАСТНИКИ ПО УМОЛЧАНИЮ

Создает заданный контейнер.

Создает заданный контейнер с содержимым диапазона.

Строит заданный контейнер с копией другого множества.

Создает контейнер набора с содержимым другого набора, используя семантику перемещения.

Создает контейнер set с содержимым списка инициализаторов.

Уничтожает установленный контейнер.

Назначает значения заданному контейнеру.

Возвращает итератор в начало.

Возвращает константный итератор в начало.

Возвращает итератор до конца.

Возвращает константный итератор до конца.

Возвращает обратный итератор для обратного начала.

Вернуть константный обратный итератор для обратного начала.

Возвращает обратный итератор для обратного конца.

Возвращает const обратный итератор для обратного конца.

Возвращает, если установленный контейнер пуст.

Возвращает количество элементов в заданном контейнере.

Возвращает максимальное количество элементов, которое может содержать установленный контейнер.

Удаляет все элементы из заданного контейнера.

Вставляет новый элемент в заданный контейнер.

Вставляет новый элемент в набор, если он уникален.

Вставляет новый элемент в набор, если он уникален, с подсказкой о позиции вставки.

Удаляет либо отдельный элемент, либо диапазон элементов из заданного контейнера.

Меняет содержимое контейнера на содержимое другого набора контейнера того же типа.

Возвращает количество элементов с совпадающим значением в заданном контейнере.

Выполняет поиск значения в указанном контейнере и возвращает итератор, если он найден, иначе возвращает итератор для set :: end.

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

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

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

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

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

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