Map (C++): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
Новая страница: «{{заголовок со строчной буквы}} {{Стандартная библиотека C++}} <code>map</code> — стандарт...»
(нет различий)

Версия от 16:52, 25 января 2020

Стандартная библиотека языка программирования C++

Ввод-вывод:

Многопоточность:

  • atomic (C++11)
  • condition_variable (C++11)
  • future (C++11)
  • mutex (C++11)
  • shared_mutex (C++14)
  • thread (C++11)

Прочие:

  • algorithm
  • bitset
  • chrono (C++11)
  • codecvt (C++11)
  • complex
  • exception
  • functional
  • initializer_list (C++11)
  • iterator
  • limits
  • locale
  • memory
  • new
  • numeric
  • random (C++11)
  • ratio (C++11)
  • regex (C++11)
  • stdexcept
  • string
  • system_error (C++11)
  • tuple (C++11)
  • typeindex (C++11)
  • typeinfo
  • type_traits (C++11)
  • utility
  • valarray
Стандартная библиотека шаблонов

Последовательные контейнеры:

Ассоциативные контейнеры:

Контейнеры-адаптеры:

Стандартная библиотека языка программирования Си

map — стандартный шаблонный класс библиотеки языка программирования C++, предназначенный для реализации абстракции отображения в виде упорядоченного ассоциативного контейнера. Его объявление расположено в заголовочном файле <map> библиотеки STL[1][2], а интерпретация позволяет провести аналогию со словарём или телефонной книгой[3].

Элементами класса map являются пары из ключей и соответствующих им значений. Хранение элементов класса map реализовано в упорядоченном виде на основании критерия сортировки, который применяется по значениям ключей. По умолчанию критерий сортировки задаётся оператором operator< [4]. В отличие от контейнера set класс map предоставляет своему пользователю operator [][1]. Для контроля за управлением памятью возможно подключать пользовательские версии распределителей памяти. Для практической реализации класса map обычно используются деревья двоичного поиска[5].

Благодаря упорядоченной структуре контейнера map поиск нужного элемента в нём может быть выполнен за логарифмическое время [6].

Примечания

  1. 1 2 Gregorie, 2018, map and multimap, p. 518.
  2. van Weert, Gregorie, 2016, Ordered Associative Containers, p. 71.
  3. Horton, Van Weert, 2018, Maps, p. 730.
  4. Литвиненко, 2005, Контейнеры Map, Multimap, с. 195.
  5. Class template std:map
  6. Posch, Galowicz, 2018, Knowing the new insertion hint semantics of std::map:insert, p. 524.

Источники