Как изобразить Python-подобный словарь в C - PullRequest
7 голосов
/ 17 июля 2010

В Python это просто:

x = {}
x['USD'] = "Dollars"
x['CLP'] = "Pesos"

или

y = {'lat': 23.678900, 'lng': 121.451928, 'name': "Sin City"}

Я думаю, что большинство подобных проблем решено, так где я могу получить информацию о словарях на C? Я не хочу изобретать велосипед.

Как реализовать словарь в C?

Ответы [ 4 ]

2 голосов
/ 17 июля 2010

Они называются хеш-таблицами или хэш-картами.

Существует множество стандартных для C ++.

См. Простые хеш-функции

1 голос
/ 17 июля 2010

glibc предоставляет hcreate, hsearch и hdestroy.

0 голосов
/ 17 июля 2010

Хеш-таблицы в порядке.Если вы хотите придерживаться стандартных функций библиотеки C, есть также bsearch , который подходит для постоянных словарей поиска или динамических словарей в сочетании с qsort .

0 голосов
/ 17 июля 2010

Ответы на все ваши вопросы здесь .

Идея: использовать хеш-функцию, избегая коллизий, чтобы использовать их в качестве индекса.

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