Проблема модели данных - PullRequest
0 голосов
/ 27 мая 2011

Скажем, у меня есть пара строк-> индекс данных, например,

"hello" -> 0
"best" -> 1
"nice" -> 2
"beautiful" -> 3

Теперь для моего потока я хочу провести логарифмический поиск по строкам, поэтому очевидно, что эти данные следует поместить в std::map. Но в какой-то момент я хочу, чтобы мои данные были упорядочены по индексу (как написано выше), но без сложности o (N ^ 2). Как я могу это сделать, Boost может помочь? std::map бесполезно для второго требования. Как обрабатывать эти данные без использования N-зависимой памяти . (N - количество элементов в карте.)

Ответы [ 2 ]

3 голосов
/ 27 мая 2011

Вам нужно использовать boost::bimap.Проверьте документацию здесь .

0 голосов
/ 27 мая 2011

Если я правильно понял, вы можете использовать две карты.Один string to index и другой index to string.

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