2009-08-01 115 views

回答

3

std::map不是散列表。因此,我的建议:Red-Black Tree C Code

下面的C文件实现使用红黑范例的平衡二叉树。我已经以非常一般的方式编写了这些函数,以便密钥可以是任何东西。平衡二叉树的每个节点必须包含一个键和一个指向info的指针。用户定义了键的数据类型,并提供了键的比较功能。信息也可以是任何种类的数据类型。

(免责声明:没有尝试过自己。)

1

标准库没有内置任何东西,但uthash可能会满足您的需求。

3

C标准库不支持这种等效。但是,GNOME项目中常用的C库是GLib。特别是,GLib Hash Tables可能是你正在寻找的。