Стоит ли иметь избыточный «контейнер поддержки»?

у меня есть std::vector (неупорядоченный), и для его конкретных элементов (по их индексу) я должен вызывать метод каждый цикл в бесконечный цикл.

Но иногда (может быть, каждый 30.000-й цикл) я хочу искать в них по элементу элементов. (std::string)

Должен ли я создать unordered_map ускорить этот поиск, или это не стоит избыточности?

(Элементы после добавления их в контейнер не удаляются, не перемещаются и т. Д., Они используются только.)

  • Поэтому, когда я добавляю элемент в вектор, я также добавляю pair<std::string, integer> на неупорядоченную карту.

    • Таким образом, когда я ищу по его «имени», я могу быстро получить его индекс

    • Вместо того, чтобы медленно проходить через вектор и сравнивать строки.

    • (Я думаю, что unordered_map’s at() быстрее, чем много строк сравнения. Поправьте меня если я ошибаюсь.)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]