bitset
- используется для хранения битов. Общее назначение - хранить значения некоторых флагов. Вам не нужно больше 1 бита для этого.
deque
- двусторонняя очередь - push_back, push_front, pop_back и pop_front - методы базового класса. «Не отсортированный» (неупорядоченный) контейнер.
list
- связанный список. Этот контейнер не является непрерывным в памяти. Время добавления и удаления элементов - O (1), но поиск конкретного элемента - O (n). Неупорядоченный контейнер.
map
- контейнер, хранящий пары (std :: pair). Первый - это ключ - каждый элемент на карте должен иметь уникальный ключ. Карта представлена в виде дерева, поэтому поиск элемента на карте - это n * log (n). Этот контейнер всегда сортируется, поэтому добавление и удаление элементов может занять больше времени - дерево (структура данных) является двоичным и сбалансированным.
multimap
- почти то же самое, что и std :: map, но допускает пары с одинаковыми ключами. Например, мультикарта может содержать элементы: (666, "alabala"), (666, "asdfg"), в то время как стандартная std :: map не может. Этот контейнер также отсортирован.
multiset
- снова - тоже самое, что установлено, но с повторяемыми элементами. установить - ну, это тоже всегда отсортированный контейнер STL. Например, набор равен {1, 2, 3}, и когда вы попытаетесь добавить '1' в этот набор, он не будет добавлен, поскольку такой элемент уже есть. (это аналог математического набора). Итак, мультимножество допускает несколько элементов с одинаковым значением, например, {1, 1, 1, 2, 3, 4, 4, 4, 4} является правильным мультимножеством, в то время как это , а не набор. Добавление и удаление элемента в std :: set по-прежнему является логарифмическим временем, поскольку оно представлено в виде двоичного, отсортированного и сбалансированного дерева.
priority_queue
- его первый элемент всегда является самым большим из элементов, которые он содержит, согласно некоторому строгому условию слабого порядка. Основные функции - push_back и pop_back.
queue
- Структура FIFO - Первый вошел, первый вышел. (или так же, как LILO - Last In - Last Out). Это аналог стандартной очереди - когда вы идете в магазин и начинаете ждать в очереди, первым будет идти первый. Вы можете просто push_back и pop_front. Неупорядоченный контейнер.
set
- я уже описал это в разделе мультимножества.
stack
- LIFO - Last In - First Out - стек. Базовая функциональность - push_back, pop_back. Неупорядоченный контейнер.
vector
- аналог стандартного массива c ++. Он обрабатывается как обычный массив, он непрерывен в памяти и может быть передан в программу на C (передавая адрес первого элемента). Неупорядоченный контейнер.
ВАЖНОЕ ПРИМЕЧАНИЕ: Я описал базовую функциональность, а не всю. Прочитайте CPlusPlus.com для получения дополнительной информации.