Предположим, у меня есть карта со значениями, указанными ниже:
std::map<int, std::set<int>> myMap;
key 0: 1,2,3,4,5,6,7,8,9,10
key 1: 1,2,3,4,5,6
key 2: 4,5,6,7
key 3: 6,7
Теперь я хочу стереть все те значения в ключе 0, которые существуют в других ключах, следующих за ним. Аналогично для ключа 1 и так далее.
Итак, окончательный вывод (myMap) должен выглядеть так:
key 0: 8,9,10
key 1: 1,2,3
key 2: 4,5
key 3: 6,7
Насколько я знаю, поиск по значениям на карте не так прост. И для моего кода поиск по значениям невозможен, так как мои данные чрезвычайно велики. Это было бы много времени.
Есть ли лучший способ сделать это, не просматривая каждое значение в каждом из следующих ключей, чтобы удалить общие значения?