Ищите контейнер типа stl multimap, который позволяет искать ключ по значению - PullRequest
1 голос
/ 09 августа 2011

Мне нужно найти ключ от определенного элемента.Это не обязательно должно быть очень быстро, но лучше итерировать все значения.

В частности, это мое проблемное пространство:

  1. несколько значений на ключ
  2. очень быстрый поиск по ключу
  3. скорость вставки / удаления не важна
  4. поиск ключа по значению, которое работает лучше, чем O (n)

Кто-нибудь знает структуру данных, которая полезна в этой ситуации, или было бы лучше просто иметь карту и мультикарту рядом?

Решено.Я фактически закончил тем, что попросил, чтобы пользователь дал ключ также.С одной стороны, это ужасное решение, но с точки зрения производительности гораздо быстрее.Так как метод, для которого мне нужен поиск, имеет параметр value, пользователь может сохранить ключ рядом со значением.

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Попробуйте Boost.Multi-Index .

2 голосов
/ 09 августа 2011

Boost.MultiIndex - это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...