Набор внутренне всегда сохраняется отсортированным (иначе у вас не будет необходимой производительности), поэтому нет, компаратор не может быть изменен.Я думаю, что лучшее решение здесь - поддерживать два набора с одинаковыми данными, но с разными компараторами.Я бы инкапсулировал два набора в классе, и чтобы такие функции, как вставка, работали в обоих наборах, чтобы гарантировать одинаковость данных в обоих наборах.
Если вам не нужно только сортировать данныевремя, другой способ выполнить то, что вы хотите, это просто использовать, например, вектор и сортировать по тому компаратору, который вам нужен, когда это необходимо.