Multiset
Материал из Algocode wiki
Версия от 09:44, 28 ноября 2019; Gutrov Egor (обсуждение | вклад)
multiset
- то же, что и set
, но может содержать повторяющиеся элементы.
count
работает за $O(\log{n} + c)$, где $c$ - количество искомых элементов. Поэтому, чтобы проверить наличие элемента $x$ в multiset s
, надо воспользоваться: s.find(el) != s.end()
.
erase
удаляет все элементы с таким значением. Чтобы удалить один, надо написать: s.erase(s.find(x))
. Но нужно быть аккуратнее с таким способом, т.к. здесь происходит удаление по итератору. То есть, если элемента в множестве не будет, s.find(x)
вернет s.end()
, и программа при удалении, скорее всего, упадет.
Автор конспекта: Егор Гутров
По всем вопросам пишите в telegram @Egor_Gutrov