Ответ 1
Вы можете реализовать priority_queue из набора STL.
Реализация очереди приоритетов, которая может быть повторена в С++
Как настроить std::priority_queue
игнорировать дубликаты?
Когда я добавляю ключ, который уже содержится, этот новый должен быть проигнорирован. (В моем случае приоритет для старого и нового всегда будет точно таким же.)
Сложность - это не должно иметь значения: он попытается вставить в нужное место, найти существующий и ничего не делать. Вопрос только в том, что std::priority_queue
настраивается таким образом.
Вы можете реализовать priority_queue из набора STL.
Реализация очереди приоритетов, которая может быть повторена в С++