结构体
GLibTree
说明 [src]
struct GTree {
/* No available fields */
}
GTree结构体是一个表示[平衡二叉树][glib-Balanced-Binary-Trees]的不可见数据结构。它只能通过以下函数访问。
实例方法
g_tree_destroy
从GTree
中删除所有键和值,并将其引用计数减少一个。如果键和/或值是动态分配的,您应该首先手动释放它们,或者使用g_tree_new_full()创建GTree
。在后一种情况下,在销毁GTree
之前,您提供的销毁函数将在所有键和值上调用。
g_tree_lookup_node
获取对应给定键的树节点。由于在添加键/值对时 GTree
会自动平衡,因此键查找的时间复杂度为 O(log n)(其中 n 是树中键/值对的数量)。
since: 2.68
g_tree_replace_node
将新的键和值插入到 GTree
中,类似于 g_tree_insert_node()。区别在于如果键已存在于 GTree
中,则它将被新键替换。如果你在创建 GTree
时提供了 value_destroy_func
,则使用该函数释放旧值。如果你在创建 GTree
时提供了 key_destroy_func
,则使用该函数释放旧键。
since: 2.68