Я пытаюсь сохранить отсортированный список.
Следовательно, когда ключ (не уникальный) элемента en изменился, мне нужно будет переместить элемент из одного места в std :: deque в другоерасположение в том же самом std :: deque.
Интересно, что является наиболее эффективным способом.Самый простой способ - выполнить 1 двоичный поиск + 1 вставку + 1 стирание, что может включать выделение и освобождение памяти.
Другой способ - просто вызывать std::sort
каждый раз (после изменения ключа), так какбудет делать std::swap
под.Но это немного тяжелый O (n log n) (против O (1) с 1 двоичным поиском + 1 вставка + 1 стирание = O (log n)).
Любые предложения приветствуются.
Спасибо!