LINUX.ORG.RU

Что-нибудь вроде map есть в С?


0

0

Привет, такой вопрос:

есть набор структур, для каждой существует уникальный id.
Как можно замапить id на структуру? В С++ есть контейнер map, а в с? Наверняка есть что-то похожее в какой-нибудь из библиотек?
Если есть, то что и где?=)


В *BSD можешь глянуть man 3 tree

swizard
()

Сам напиши. Простейший хэш -- несколько функций по несколько строчек. Сам всегда сделаешь то, что для твоего случая оптимально.

Вообще, алгоритм сильно зависит от того, что ты собираешься с этим мапом делать. Если id -- целое число, то оптимальнее хеша не придумаешь. Если id -- длинная строка, то зависит от того, что тебе надо чаще делать: если искать, то сделай АВЛ деревья, если вставлять, то просто двоичные деревья с балансировкой. Если строки не очень длинные и их не очень много, то не придумаешь ничего лучше префиксного дерева. Если надо это дело на диске хранить, то Б+ деревья оптимальны.

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous

>это же ЛОР, здесь всегда рады помочь

...убиться об стену?

xTERM ★★
()
Ответ на: комментарий от xTERM

> +1 За Д. Кнута

у них главный плюс что они есть в позиксе, поэтому не нужно тащить какие-то сторонние библиотеки.

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.