📄 trees-binary.sgml
字号:
<!-- ##### SECTION Title ##### -->Balanced Binary Trees<!-- ##### SECTION Short_Description ##### -->a sorted collection of key/value pairs optimized for searchingand traversing in order.<!-- ##### SECTION Long_Description ##### --><para>The #GTree structure and its associated functions provide a sorted collectionof key/value pairs optimized for searching and traversing in order.</para><para>To create a new #GTree use g_tree_new().</para><para>To insert a key/value pair into a #GTree use g_tree_insert().</para><para>To lookup the value corresponding to a given key, use g_tree_lookup() andg_tree_lookup_extended().</para><para>To find out the number of nodes in a #GTree, use g_tree_nnodes().To get the height of a #GTree, use g_tree_height().</para><para>To traverse a #GTree, calling a function for each node visited in thetraversal, use g_tree_foreach().</para><para>To remove a key/value pair use g_tree_remove().</para><para>To destroy a #GTree, use g_tree_destroy().</para><!-- ##### SECTION See_Also ##### --><para></para><!-- ##### STRUCT GTree ##### --><para>The <structname>GTree</structname> struct is an opaque data structure representing a<link linkend="glib-Balanced-Binary-Trees">Balanced Binary Tree</link>.It should be accessed only by using the following functions.</para><!-- ##### FUNCTION g_tree_new ##### --><para></para>@key_compare_func: @Returns: <!-- ##### FUNCTION g_tree_new_with_data ##### --><para></para>@key_compare_func: @key_compare_data: @Returns: <!-- ##### FUNCTION g_tree_new_full ##### --><para></para>@key_compare_func: @key_compare_data: @key_destroy_func: @value_destroy_func: @Returns: <!-- ##### FUNCTION g_tree_insert ##### --><para></para>@tree: @key: @value: <!-- ##### FUNCTION g_tree_replace ##### --><para></para>@tree: @key: @value: <!-- ##### FUNCTION g_tree_nnodes ##### --><para></para>@tree: @Returns: <!-- ##### FUNCTION g_tree_height ##### --><para></para>@tree: @Returns: <!-- ##### FUNCTION g_tree_lookup ##### --><para></para>@tree: @key: @Returns: <!-- ##### FUNCTION g_tree_lookup_extended ##### -->@tree: @lookup_key: @orig_key: @value: @Returns: <!-- ##### FUNCTION g_tree_foreach ##### --><para></para>@tree: @func: @user_data: <!-- ##### FUNCTION g_tree_traverse ##### --><para></para>@tree: @traverse_func: @traverse_type: @user_data: <!-- ##### USER_FUNCTION GTraverseFunc ##### --><para>Specifies the type of function passed to g_tree_traverse().It is passed the key and value of each node, together withthe @user_data parameter passed to g_tree_traverse().If the function returns %TRUE, the traversal is stopped.</para>@key: a key of a #GTree node.@value: the value corresponding to the key.@data: user data passed to g_tree_traverse().@Returns: %TRUE to stop the traversal.<!-- ##### ENUM GTraverseType ##### --><para>Specifies the type of traveral performed by g_tree_traverse(),g_node_traverse() and g_node_find().</para>@G_IN_ORDER: vists a node's left child first, then the node itself, then its right child. This is the one to use if you want the output sorted according to the compare function.@G_PRE_ORDER: visits a node, then its children.@G_POST_ORDER: visits the node's children, then the node itself.@G_LEVEL_ORDER: is not implemented for <link linkend="glib-Balanced-Binary-Trees">Balanced Binary Trees</link>. For <link linkend="glib-N-ary-Trees">N-ary Trees</link>, it vists the root node first, then its children, then its grandchildren, and so on. Note that this is less efficient than the other orders.<!-- ##### FUNCTION g_tree_search ##### --><para></para>@tree: @search_func: @user_data: @Returns: <!-- ##### FUNCTION g_tree_remove ##### --><para></para>@tree: @key: <!-- ##### FUNCTION g_tree_steal ##### --><para></para>@tree: @key: <!-- ##### FUNCTION g_tree_destroy ##### --><para></para>@tree:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -