Multiset в C++ отличается от других типов ассоциативных контейнеров тем, что хранит неупорядоченные элементы, допускающие повторения. 1 Один элемент может входить в мультимножество несколько раз. 4
Другие типы ассоциативных контейнеров в C++ поддерживают разные свойства:
- set (множество) хранит уникальные элементы в отсортированном порядке, при этом вставка и удаление элементов занимают O(log n) времени; 14
- unordered_set хранит неупорядоченные уникальные элементы, при этом вставка и удаление элементов занимают O(1) времени в среднем случае, благодаря использованию хеш-таблицы; 1
- map хранит пары ключ-значение, каждый из которых соотносится только с одним значением. 13 Элементы в map всегда отсортированы по возрастанию ключа; 1
- multimap также хранит пары ключ-значение, но допускает наличие нескольких значений, связанных с одним и тем же ключом. 13 Элементы в multimap всегда отсортированы по ключу, невзирая на количество значений, связанных с каждым ключом. 1