如何在C语言中表示类似Python字典的数据结构

9
在Python中很容易实现:
x = {}
x['USD'] = "Dollars"
x['CLP'] = "Pesos"

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

我认为这类问题大部分已经解决了,那么我在哪里可以获取关于C语言字典的信息?我不想重复造轮子。
如何在C语言中实现一个字典?

1
你可能想要了解哈希表:http://en.wikipedia.org/wiki/Hash_table 这是一种非常重要的数据结构,理解它们的工作原理以及使用它们的好处(和缺点)非常重要,这将使你更好地理解Python字典的实现方式和原理。 - Alan
4个回答

2
他们被称为哈希表或哈希映射。
C++中有很多标准的哈希函数。
请参见简单哈希函数

2

glibc提供hcreate、hsearch和hdestroy函数。


1

你所有的问题都可以在这里找到答案。

思路:使用避免冲突的哈希函数将它们用作索引。


0

哈希表很好用。如果你想坚持使用标准的C库函数,还有bsearch,它非常适合于常量查找字典,或与qsort一起用于动态字典。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接