Учебники

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

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

В ключе карты значения обычно используются для сортировки элементов. Для данных карты тип ключа и значение могут отличаться и представляются в виде

typedef pair<const Key, T> value_type;

Карты обычно реализованы в виде дерева двоичного поиска.

Карты нулевого размера также действительны. В этом случае map.begin () и map.end () указывают на одно и то же местоположение.

Определение

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

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class map;

параметры

  • Ключ — тип ключа.

  • T — Тип сопоставленных значений.

  • Сравнение — двоичный предикат, который принимает в качестве аргументов ключи двух элементов и возвращает логическое значение.

  • Alloc — Тип объекта-распределителя.

Ключ — тип ключа.

T — Тип сопоставленных значений.

Сравнение — двоичный предикат, который принимает в качестве аргументов ключи двух элементов и возвращает логическое значение.

Alloc — Тип объекта-распределителя.

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

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

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

Sr.No. Типы участников Определение
1 key_type Ключ (Первый параметр шаблона)
2 mapped_type T (Второй параметр шаблона)
3 key_compare Сравнить (Третий параметр шаблона)
4 allocator_type Alloc (четвертый параметр шаблона)
5 тип ценности пара <const key_type, mapped_type>
6 value_compare Класс вложенных функций для сравнения элементов
7 ссылка allocator_type :: ссылки
8 const_reference allocator_type :: const_reference
9 указатель allocator_type :: указатель
10 const_pointer allocator_type :: const_pointer
11 итератор двунаправленный итератор для value_type
12 const_iterator двунаправленный итератор для const value_type
13 reverse_iterator обратный итератор
14 const_reverse_iterator постоянный обратный итератор
15 difference_type ptrdiff_t
16 size_type size_t

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

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

Конструкторы

Sr.No. Метод и описание
1 map :: map конструктор по умолчанию

Создает пустую карту с нулевыми элементами.

2 карта :: конструктор диапазона карты

Создает карту с таким количеством элементов, как в диапазоне от первого до последнего .

3 карта :: конструктор копирования карты

Создает карту с копией каждого элемента, присутствующего в существующей карте.

4 карта :: карта переместить конструктор

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

5 карта :: конструктор списка инициализатора карты

Создает карту из списка инициализации.

Создает пустую карту с нулевыми элементами.

Создает карту с таким количеством элементов, как в диапазоне от первого до последнего .

Создает карту с копией каждого элемента, присутствующего в существующей карте.

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

Создает карту из списка инициализации.

Destructor

Sr.No. Метод и описание
1 карта :: ~ карта

Уничтожает объект карты, освобождая его память.

Уничтожает объект карты, освобождая его память.

Функции-члены

Sr.No. Метод и описание
1 карта :: на

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

2 карта :: начать

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

3 Карта :: cbegin

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

4 Карта :: cend

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

5 карта :: ясно

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

6 карта :: Количество

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

7 Карта :: crbegin

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

8 Карта :: crend

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

9 карта :: устанавливать

Расширяет контейнер, вставляя новый элемент.

10 карта :: emplace_hint подсказка версия

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

11 карта :: пусто

Проверяет, является ли карта пустой или нет.

12 Карта :: конец

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

13 Карта :: equal_range

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

14 карта :: стереть версию положения

Удаляет один элемент карты из позиции .

15 карта :: стереть версию положения

Удаляет один элемент карты из позиции .

16 карта :: стереть ключ

Удаляет сопоставленное значение, связанное с ключом k .

17 карта :: стереть диапазон версии

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

18 карта :: стереть диапазон версии

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

19 карта :: найти

Находит элемент, связанный с ключом k .

20 Карта :: get_allocator

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

21 карта :: вставить один элемент

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

22 карта :: вставить версию подсказки

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

23 карта :: вставить версию диапазона

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

24 карта :: вставить ход подсказка версия

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

25 карта :: вставить версию списка инициализатора

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

26 Карта :: key_comp

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

27 Карта :: lower_bound

Возвращает итератор, указывающий на первый элемент, который не меньше ключа k .

28 Карта :: max_size

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

29 карта :: оператор = копия версия

Назначьте новое содержимое на карту, заменив старое, и при необходимости измените размер.

30 карта :: оператор = переместить версию

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

31 map :: operator = версия списка инициализаторов

Скопируйте элементы из списка инициализатора на карту.

32 карта :: оператор [] копия версия

Если ключ k соответствует элементу в контейнере, метод возвращает ссылку на элемент.

33 карта :: оператор [] переместить версию

Если ключ k соответствует элементу в контейнере, метод возвращает ссылку на элемент.

34 Карта :: rbegin

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

35 Карта :: ренд

Возвращает обратный итератор, который указывает на обратный конец карты i.

36 карта :: размер

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

37 карта :: своп

Обменивает содержимое карты с содержимым карты х.

38 Карта :: upper_bound

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

39 Карта :: value_comp

Возвращает объект функции, который сравнивает объекты типа std :: map :: value_type .

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

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

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

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

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

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

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

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

Расширяет контейнер, вставляя новый элемент.

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

Проверяет, является ли карта пустой или нет.

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

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

Удаляет один элемент карты из позиции .

Удаляет один элемент карты из позиции .

Удаляет сопоставленное значение, связанное с ключом k .

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

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

Находит элемент, связанный с ключом k .

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

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

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

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

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

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

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

Возвращает итератор, указывающий на первый элемент, который не меньше ключа k .

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

Назначьте новое содержимое на карту, заменив старое, и при необходимости измените размер.

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

Скопируйте элементы из списка инициализатора на карту.

Если ключ k соответствует элементу в контейнере, метод возвращает ссылку на элемент.

Если ключ k соответствует элементу в контейнере, метод возвращает ссылку на элемент.

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

Возвращает обратный итератор, который указывает на обратный конец карты i.

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

Обменивает содержимое карты с содержимым карты х.

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

Возвращает объект функции, который сравнивает объекты типа std :: map :: value_type .

Не член перегруженные функции

Sr.No. Метод и описание
1 оператор ==

Проверяет, равны ли две карты или нет.

2 Оператор! =

Проверяет, равны ли две карты или нет.

3 оператор <

Проверяет, меньше ли первая карта, чем другая, или нет.

4 карта :: оператор <=

Проверяет, является ли первая карта меньше или равна другой или нет.

5 оператор>

Проверяет, является ли первая карта больше других или нет.

6 оператор> =

Проверяет, является ли первая карта больше или равна другой или нет.

7 своп()

Обменивает содержимое карты с содержимым карты х.

Проверяет, равны ли две карты или нет.

Проверяет, равны ли две карты или нет.

Проверяет, меньше ли первая карта, чем другая, или нет.

Проверяет, является ли первая карта меньше или равна другой или нет.

Проверяет, является ли первая карта больше других или нет.

Проверяет, является ли первая карта больше или равна другой или нет.

Обменивает содержимое карты с содержимым карты х.

Введение в мультикарту

Multimap — словарь, как структура данных. Это последовательность пары (ключ, значение) , в которой несколько значений могут быть связаны с эквивалентными ключами. Это часто упоминается как ассоциативный массив .

В многопользовательских ключах значения обычно используются для сортировки элементов. Для многокарточных данных тип ключа и значения может отличаться и представлен в виде

typedef pair<const Key, T> value_type;

Мультикарты обычно реализуются в виде дерева двоичного поиска.

Мультикарты нулевого размера также действительны. В этом случае multimap.begin () и multimap.end () указывают на одно и то же местоположение.

Определение

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

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class multimap;

параметры

  • Ключ — тип ключа.

  • T — Тип сопоставленных значений.

  • Сравнение — двоичный предикат, который принимает в качестве аргументов ключи двух элементов и возвращает логическое значение.

  • Alloc — Тип объекта-распределителя.

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

Ключ — тип ключа.

T — Тип сопоставленных значений.

Сравнение — двоичный предикат, который принимает в качестве аргументов ключи двух элементов и возвращает логическое значение.

Alloc — Тип объекта-распределителя.

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

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

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

Sr.No. Типы участников Определение
1 key_type Ключ (Первый параметр шаблона)
2 mapped_type T (Второй параметр шаблона)
3 key_compare Сравнить (Третий параметр шаблона)
4 allocator_type Alloc (четвертый параметр шаблона)
5 тип ценности пара <const key_type, mapped_type>
6 value_compare Класс вложенных функций для сравнения элементов
7 ссылка allocator_type :: ссылки
8 const_reference allocator_type :: const_reference
9 указатель allocator_type :: указатель
10 const_pointer allocator_type :: const_pointer
11 итератор двунаправленный итератор для value_type
12 const_iterator двунаправленный итератор для const value_type
13 reverse_iterator обратный итератор
14 const_reverse_iterator постоянный обратный итератор
15 difference_type ptrdiff_t
16 size_type size_t

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

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

Создает пустую мультикарту с нулевыми элементами.

Создает мультикарту с таким количеством элементов, как в диапазоне от первого до последнего .

Создает мультикарту с копией каждого элемента, присутствующего в существующей мультикарте.

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

Создает мультикарту из списка инициализации.

Уничтожает объект мультикарты, освобождая его память.

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

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

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

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

Возвращает количество многозначных значений, связанных с ключом k .

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

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

Расширяет контейнер, вставляя новый элемент.

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

Проверяет, является ли мультикарта пустой или нет.

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

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

Удаляет один элемент мультикарты из позиции .

Удаляет один элемент мультикарты из позиции .

Удаляет сопоставленное значение, связанное с ключом k .

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

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

Находит элемент, связанный с ключом k .

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

Расширяет контейнер, вставляя новый элемент в мультикарту.

Расширяет контейнер, вставляя новый элемент в мультикарту.

Расширяет контейнер, вставляя новые элементы в мультикарту.

Расширяет мультикарту, вставляя новый элемент.

Расширяет мультикарту, вставляя новый элемент из списка инициализатора.

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

Возвращает итератор, указывающий на первый элемент, который не меньше ключа k .

Возвращает максимальное количество элементов, которые могут храниться в мультикарте.

Присвойте новое содержимое мультикарте, заменив старое, и при необходимости измените размер.

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

Скопируйте элементы из списка инициализатора в мультикарту.

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

Возвращает обратный итератор, который указывает на обратный конец мультикарты.

Возвращает количество элементов, присутствующих в мультикарте.

Обменивает содержимое мультикарты с содержимым мультикарты x.

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

Возвращает объект функции, который сравнивает объекты типа std :: multimap :: value_type .

Проверяет, равны ли две мультикарты или нет.

Проверяет, равны ли две мультикарты или нет.

Проверяет, меньше ли первое мультикарта, чем другие, или нет.

Проверяет, является ли первая мультикарта меньше или равна другой или нет.

Проверяет, является ли первая мультикарта больше других или нет.

Проверяет, является ли первая мультикарта больше или равна другой или нет.

Обменивает содержимое мультикарты с содержимым мультикарты x.