📄 group__gdsl__rbtree.html
字号:
</table></dl><dl compact><dt><b>Returns:</b></dt><dd>the height of the red-black tree T (noted h(T)). </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__rbtree.html#ga444fc6695317a905c6c22715e163c2b">gdsl_rbtree_get_size()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g088daaa858f351d7d18d9501a12b30e3"></a><!-- doxytag: member="gdsl_rbtree.h::gdsl_rbtree_set_name" ref="g088daaa858f351d7d18d9501a12b30e3" args="(gdsl_rbtree_t T, const char *NEW_NAME)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a> gdsl_rbtree_set_name </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a> </td> <td class="mdname" nowrap> <em>T</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>NEW_NAME</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Set the name of a red-black tree. <p>Change the previous name of the red-black tree T to a copy of NEW_NAME.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_rbtree_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>The red-black tree to change the name </td></tr> <tr><td valign="top"></td><td valign="top"><em>NEW_NAME</em> </td><td>The new name of T </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the modified red-black tree in case of success. <p>NULL in case of insufficient memory. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__rbtree.html#g2e908aaf5ea816b4cf5acbcb5ba4011e">gdsl_rbtree_get_name()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g37088d5953e6800d9276a6286bf12521"></a><!-- doxytag: member="gdsl_rbtree.h::gdsl_rbtree_insert" ref="g37088d5953e6800d9276a6286bf12521" args="(gdsl_rbtree_t T, void *VALUE, int *RESULT)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> gdsl_rbtree_insert </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a> </td> <td class="mdname" nowrap> <em>T</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>VALUE</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>RESULT</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Insert an element into a red-black tree if it's not found or return it. <p>Search for the first element E equal to VALUE into the red-black tree T, by using T's COMP_F function passed to gdsl_rbtree_alloc to find it. If E is found, then it's returned. If E isn't found, then a new element E is allocated using T's ALLOC_F function passed to gdsl_rbtree_alloc and is inserted and then returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log( |T| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_rbtree_t & RESULT != NULL </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>The red-black tree to modify </td></tr> <tr><td valign="top"></td><td valign="top"><em>VALUE</em> </td><td>The value used to make the new element to insert into T </td></tr> <tr><td valign="top"></td><td valign="top"><em>RESULT</em> </td><td>The address where the result code will be stored. </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the element E and RESULT = GDSL_OK if E is inserted into T. <p>the element E and RESULT = GDSL_ERR_DUPLICATE_ENTRY if E is already present in T. <p>NULL and RESULT = GDSL_ERR_MEM_ALLOC in case of insufficient memory. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__rbtree.html#ga9d34dd8149e458dc0306cd6caabf516">gdsl_rbtree_remove()</a> <p><a class="el" href="group__gdsl__rbtree.html#g1f9cfaf592b74449a103d550c0c05eb5">gdsl_rbtree_delete()</a> </dd></dl> </td> </tr></table><a class="anchor" name="ga9d34dd8149e458dc0306cd6caabf516"></a><!-- doxytag: member="gdsl_rbtree.h::gdsl_rbtree_remove" ref="ga9d34dd8149e458dc0306cd6caabf516" args="(gdsl_rbtree_t T, void *VALUE)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> gdsl_rbtree_remove </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a> </td> <td class="mdname" nowrap> <em>T</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>VALUE</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Remove an element from a red-black tree. <p>Remove from the red-black tree T the first founded element E equal to VALUE, by using T's COMP_F function passed to <a class="el" href="group__gdsl__rbtree.html#gced9f13fd9bd4cd9d9c27aeadffa35e7">gdsl_rbtree_alloc()</a>. If E is found, it is removed from T and then returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log ( |T| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_rbtree_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>The red-black tree to modify </td></tr> <tr><td valign="top"></td><td valign="top"><em>VALUE</em> </td><td>The value used to find the element to remove </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the first founded element equal to VALUE in T in case is found. <p>NULL in case no element equal to VALUE is found in T. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__rbtree.html#g37088d5953e6800d9276a6286bf12521">gdsl_rbtree_insert()</a> <p><a class="el" href="group__gdsl__rbtree.html#g1f9cfaf592b74449a103d550c0c05eb5">gdsl_rbtree_delete()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g1f9cfaf592b74449a103d550c0c05eb5"></a><!-- doxytag: member="gdsl_rbtree.h::gdsl_rbtree_delete" ref="g1f9cfaf592b74449a103d550c0c05eb5" args="(gdsl_rbtree_t T, void *VALUE)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a> gdsl_rbtree_delete </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a> </td> <td class="mdname" nowrap> <em>T</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>VALUE</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Delete an element from a red-black tree. <p>Remove from the red-black tree the first founded element E equal to VALUE, by using T's COMP_F function passed to <a class="el" href="group__gdsl__rbtree.html#gced9f13fd9bd4cd9d9c27aeadffa35e7">gdsl_rbtree_alloc()</a>. If E is found, it is removed from T and E is deallocated using T's FREE_F function passed to <a class="el" href="group__gdsl__rbtree.html#gced9f13fd9bd4cd9d9c27aeadffa35e7">gdsl_rbtree_alloc()</a>, then T is returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log( |T| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_rbtree_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>The red-black tree to remove an element from </td></tr> <tr><td valign="top"></td><td valign="top"><em>VALUE</em> </td><td>The value used to find the element to remove </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the modified red-black tree after removal of E if E was found. <p>NULL if no element equal to VALUE was found. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__rbtree.html#g37088d5953e6800d9276a6286bf12521">gdsl_rbtree_insert()</a> <p><a class="el" href="group__gdsl__rbtree.html#ga9d34dd8149e458dc0306cd6caabf516">gdsl_rbtree_remove()</a> </dd></dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -