Вопросы к Поиску с Алисой
Основные отличия между разными типами контейнеров в C++ заключаются в том, как они обеспечивают добавление и удаление элементов, а также доступ к элементам в контейнере. metanit.com otus.ru
Некоторые типы контейнеров и их особенности:
Последовательные контейнеры. metanit.com learn.microsoft.com Поддерживают указанный пользователем порядок вставляемых элементов. learn.microsoft.com Некоторые типы:
array — коллекция фиксированного размера, поддерживает произвольный доступ к любому элементу, но добавлять или удалять элементы нельзя. metanit.com otus.ru
vector — коллекция переменного размера, поддерживает произвольный доступ к любому элементу, позволяет добавлять и удалять элементы из любого места контейнера. metanit.com otus.ru
deque — двусторонняя очередь, поддерживает произвольный доступ к любому элементу, позволяет удалять и добавлять элементы в начале и в конце контейнера. metanit.com otus.ru
list — двухсвязный список, поддерживает только последовательный двухнаправленный доступ к элементам, позволяет добавлять и удалять элементы в начале и в конце контейнера. metanit.com otus.ru
forward_list — односвязный список, поддерживает только однонаправленный последовательный доступ к элементам, позволяет добавлять и удалять элементы в начале и в конце контейнера. metanit.com otus.ru
Ассоциативные контейнеры. metanit.com С каждым элементом ассоциирован некоторый ключ, и этот ключ применяется для доступа к элементу в контейнере. metanit.com В C++ ассоциативные контейнеры представлены множествами (set) и картами/словарями (map). metanit.com
Контейнеры-адаптеры. ru.wikipedia.org Технически не являются контейнерами, а инкапсулируют один из контейнеров и позволяют работать с ним определённым образом. metanit.com Некоторые типы:
stack — контейнер, в котором добавление и удаление элементов осуществляется с одного конца. ru.wikipedia.org
queue — контейнер, с одного конца которого можно добавлять элементы, а с другого — вынимать. ru.wikipedia.org
priority_queue — очередь с приоритетом, организованная так, что самый большой элемент всегда стоит на первом месте. ru.wikipedia.org
В зависимости от ситуации и потребностей можно использовать тот или иной тип контейнеров. metanit.com