multiset зависит от того, передают итератор или сам ключ. Метод erase с итератором убирает ровно один элемент на этой позиции.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpMuEO 192 of 696 menu
◀ ▶

Удаление одного элемента в multiset в C++

Удаление в multiset зависит от того, передают итератор или сам ключ.

Метод erase с итератором убирает ровно один элемент на этой позиции - остальные равные ключи остаются. Запишем multiset, найдем одну копию числа и снимем ее:

#include <set> std::multiset<int> nums = {1, 1, 2}; auto it = nums.find(1); nums.erase(it); for (int x : nums) { std::cout << x << "\n"; }

Если передать ключ, исчезнут все элементы с этим ключом сразу:

#include <set> std::multiset<int> vals = {5, 5, 5, 7}; vals.erase(5); for (int x : vals) { std::cout << x << "\n"; }

Дан multiset 3, 3, 4. Удалите одну копию 3 по итератору и выведите count для 3.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить