我想知道你是否知道C中哈希表的强大实现。我正在寻找glib中除了ghashtable之外的东西。 感谢。
答案 0 :(得分:2)
我听说过有关GLib Hash Table的好消息。
答案 1 :(得分:2)
在C中:
g_hash_table
:
http://library.gnome.org/devel/glib/stable/glib-Hash-Tables.html uthash
:https://github.com/troydhanson/uthash khash
在klib中:https://github.com/attractivechaos/klib cdada_map
:https://github.com/msune/libcdada(C API,后端C ++)如果您可以/想使用C ++:
std::map
在libstdc ++中(也可以研究std::unordered_map
)sparsehash
:https://github.com/sparsehash/sparsehash(也要注意密集)答案 2 :(得分:1)
答案 3 :(得分:1)
对于哈希表,我使用google-sparsehash
PD:我不了解您的要求,但请查看HDF5,请记住它存在以防万一。<强>更新强>
Memory Structures Library (MemSL2), o MemSL2 in another link 它有结构的实现(纯C中的一个和C ++的包装),例如,AVL树,线程树,......和
答案 4 :(得分:1)
libc中的一个简单的,请参阅&lt; hsearch.h&gt;和man hsearch
。
更新:刚刚发现您可以在Linux内核的hlist
帮助下轻松实现哈希表。看看&lt; list.h&gt;在hlist_head/node
的Linux内核源代码及其操作中。
答案 5 :(得分:0)
您可能希望了解如何使用Apache Portable Runtime?它的许可证非常宽松,它提供了一个不错的哈希表实现: