方法

GLibTreeinsert_node

自 2.68 版本以来

声明 [src]

GTreeNode*
g_tree_insert_node (
  GTree* tree,
  gpointer key,
  gpointer value
)

描述 [src]

将键/值对插入到 GTree 中。

如果给定的键已在 GTree 中存在,则将其对应值设置为新值。如果创建 GTree 时提供了 value_destroy_func,则使用该函数释放旧值。如果创建 GTree 时提供了 key_destroy_func,则使用该函数释放传入的键。

随着新的键/值对的添加,树会自动‘平衡’,以便从根到每个叶子的距离尽可能小。维护平衡树的成本在插入新的键/值时导致 O(n log(n)) 操作,而大多数其他操作是 O(log(n))。

自 2.68 版本以来可用

参数

key

类型: gpointer

要插入的键。

该参数可以是 NULL
数据由方法调用者拥有。
value

类型: gpointer

与键对应的值。

该参数可以是 NULL
数据由方法调用者拥有。

返回值

类型: GTreeNode

已插入(或设置)的节点或 NULL(如果插入会超出树节点计数器)。

返回的数据由实例拥有。
返回值可以是 NULL