C中多图的任何好的实现?

时间:2013-04-15 16:52:15

标签: c multimap

我正在尝试将一些Delphi代码移植到C库中,但它的中心结构基于多图。由于没有任何类型的泛型,也没有对动态数组的语言级支持,在C中构建我自己的多重映射会非常痛苦。但我认为某人已经在某处写过。我在哪里可以找到适合C的好的多图实现?

(另外,为了澄清,这里的“multimap”标签说明“一个类似于地图但允许重复键的结构。”我有点困惑,因为那不是多图集容器我是我需要的是“一个类似于地图的结构,但允许每个(唯一)键的多个值。”换句话说,multimap<x, y> = map<x, list<y>>。)

1 个答案:

答案 0 :(得分:4)

虽然不直接是一个多图库,uthash在C中实现了一个简单的关联数组,并且只是一个头文件,所以它相当便携,环境开销低。

使用uthash,您可以简单地创建一个多级关联数组,将子关联数组视为集合。 uthash文档提供了simple example来创建和使用多级关联数组。

相关问题