Библиотека C ++ - <неупорядоченный_набор>
Введение
Это ассоциативный контейнер, который хранит уникальные элементы в произвольном порядке и позволяет быстро извлекать отдельные элементы на основе их значения.
Определение
Ниже приведено определение std :: unordered_set
template < class Key,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator<Key>
> class unordered_set;
Параметры
Key - Он определяет тип элемента.
Hash - Это унарный функциональный объект.
Pred - Это бинарный предикат, который принимает два аргумента того же типа, что и элементы, и возвращает логическое значение.
Alloc - Определяет тип допуска.
Типы участников
Следующие типы членов могут использоваться как параметры или возвращаемый тип функциями-членами.
| тип члена | определение | ноты |
|---|---|---|
| key_type | Это первый параметр шаблона ( Ключ ) | |
| тип ценности | Это первый параметр шаблона ( Ключ ) | То же, что и key_type |
| хешер | Это второй параметр шаблона ( Hash ) | по умолчанию: hash <key_type> |
| key_equal | Это третий параметр шаблона ( Pred ) | по умолчанию: equal_to <key_type> |
| allocator_type | Это четвертый параметр шаблона ( Alloc ) | по умолчанию: allocator <value_type> |
| Справка | Alloc :: ссылка | |
| const_reference | Alloc :: const_reference | |
| указатель | Alloc :: указатель | для распределителя по умолчанию: value_type * |
| const_pointer | Alloc :: const_pointer | для распределителя по умолчанию: const value_type * |
| итератор | прямой итератор для const value_type | * конвертируется в const_iterator |
| const_iterator | прямой итератор для const value_type | * |
| local_iterator | прямой итератор для const value_type | * конвертируется в const_local_iterator |
| const_local_iterator | прямой итератор для const value_type | * |
| size_type | беззнаковый целочисленный тип | обычно такой же, как size_t |
| разница_тип | знаковый целочисленный тип | обычно то же самое, что и ptrdiff_t |
Функции-члены
Ниже приведен список функций-членов
| Sr. No. | Метод и описание |
|---|---|
| 1 | (конструктор)
Создает unordered_set. |
| 2 | (деструктор)
Он уничтожает unordered_set. |
| 3 | оператор =
Он используется для присвоения содержания. |
Вместимость
| Sr. No. | Емкость и описание |
|---|---|
| 1 | пустой
Он используется для проверки того, пустой ли контейнер. |
| 2 | размер
Возвращает размер контейнера. |
| 3 | max_size
Возвращает максимальный размер. |
Итераторы
| Sr. No. | Итераторы и описание |
|---|---|
| 1 | начать
Возвращает итератор в начало. |
| 2 | конец
Возвращает итератор в конец. |
| 3 | cbegin
Он возвращает const_iterator в начало. |
| 4 | уступать
Он возвращает const_iterator в конец. |
Поиск элемента
| Sr. No. | Поиск элемента и описание |
|---|---|
| 1 | найти
Он используется для получения итератора для элемента. |
| 2 | считать
Он используется для подсчета элементов с определенным ключом. |
| 3 | равный_ диапазон
Он используется для получения диапазона элементов с помощью определенного ключа. |
Модификаторы
| Sr. No. | Модификаторы и описание |
|---|---|
| 1 | поставить
Он используется для создания и вставки элемента. |
| 2 | emplace_hint
Он используется для создания и вставки элемента с подсказкой. |
| 3 | вставить
Используется для вставки элементов. |
| 4 | стереть
Используется для стирания элементов. |
| 5 | Чисто
Он используется для очистки содержимого. |
| 6 | замена
Он используется для обмена контентом. |
Ведра
| Sr. No. | Ковши и описание |
|---|---|
| 1 | bucket_count
Возвращает количество ведер. |
| 2 | max_bucket_count
Возвращает максимальное количество корзин. |
| 3 | bucket_size
Возвращает размер ведра. |
| 4 | ведро
Он находит ведро элемента. |
Политика хеширования
| Sr. No. | Политика хеширования и описание |
|---|---|
| 1 | коэффициент нагрузки
Возвращает коэффициент загрузки. |
| 2 | max_load_factor
Он используется для получения или установки максимального коэффициента загрузки. |
| 3 | перефразировать
Используется для установки количества ведер. |
| 4 | резерв
Выдает запрос на замену емкости |
Наблюдатели
| Sr. No. | Наблюдатели и описание |
|---|---|
| 1 | hash_function
Он используется для получения хеш-функции. |
| 2 | key_eq
Он используется для получения предиката эквивалентности ключа. |
| 3 | get_allocator
Он используется для получения распределителя. |
| Sr. No. | Перегрузки функций, не являющихся членами, и описание |
|---|---|
| 1 | операторы (unordered_set)
Он используется для получения хеш-функции. |
| 2 | своп (unordered_set)
Он обменивается содержимым двух контейнеров unordered_set. |
Предопределенные итераторы
| Sr. No. | Перегрузки функций, не являющихся членами, и описание |
|---|---|
| 1 | операторы (unordered_set)
Он используется для получения хеш-функции. |
| 2 | своп (unordered_set)
Он обменивается содержимым двух контейнеров unordered_set. |