РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
260 of 815 menu

Класс map

Класс map - это ассоциативный контейнер, который хранит элементы в виде пар "ключ-значение". Каждый ключ уникален, а данные автоматически сортируются по ключу в порядке возрастания. В первом параметре шаблона указывается тип ключа, а во втором - тип значения. Для доступа к элементам используется оператор [] или метод at.

Синтаксис

#include <map> std::map<KeyType, ValueType> mapName;

Пример

Давайте создадим словарь, который сопоставляет числовые ключи строковым значениям, и выведем его элементы:

#include <iostream> #include <map> using namespace std; int main() { map<int, string> mp; mp[1] = "abcde"; mp[2] = "12345"; mp[3] = "hello"; for (auto& pair : mp) { cout << pair.first << ": " << pair.second << endl; } return 0; }

Результат выполнения кода:

"1: abcde" "2: 12345" "3: hello"

Пример

Давайте найдем значение по ключу с помощью метода find и проверим наличие ключа через метод count:

#include <iostream> #include <map> using namespace std; int main() { map<int, string> mp; mp[1] = "abcde"; mp[2] = "12345"; auto it = mp.find(2); if (it != mp.end()) { cout << it->second << endl; } cout << mp.count(1) << endl; cout << mp.count(5) << endl; return 0; }

Результат выполнения кода:

12345 1 0

Пример

Давайте удалим элемент по ключу с помощью метода erase и выведем размер контейнера:

#include <iostream> #include <map> using namespace std; int main() { map<int, string> mp; mp[1] = "abcde"; mp[2] = "12345"; mp[3] = "hello"; mp.erase(2); cout << mp.size() << endl; for (auto& pair : mp) { cout << pair.first << ": " << pair.second << endl; } return 0; }

Результат выполнения кода:

2 "1: abcde" "3: hello"

Смотрите также

  • метод insert,
    который вставляет элементы в map
  • метод erase,
    который удаляет элементы по ключу
  • метод find,
    который ищет элемент по ключу
  • метод at,
    который возвращает значение по ключу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить