⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 group__gdsl__rbtree.html

📁 一个通用的C语言实现的数据结构
💻 HTML
📖 第 1 页 / 共 5 页
字号:
  </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">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a>&nbsp;</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 *&nbsp;</td>          <td class="mdname" nowrap> <em>NEW_NAME</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </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>&nbsp;</td><td>The red-black tree to change the name </td></tr>    <tr><td valign="top"></td><td valign="top"><em>NEW_NAME</em>&nbsp;</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">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>          <td class="mdname" nowrap> <em>RESULT</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </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 &amp; 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>&nbsp;</td><td>The red-black tree to modify </td></tr>    <tr><td valign="top"></td><td valign="top"><em>VALUE</em>&nbsp;</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>&nbsp;</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">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a>&nbsp;</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 *&nbsp;</td>          <td class="mdname" nowrap> <em>VALUE</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </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>&nbsp;</td><td>The red-black tree to modify </td></tr>    <tr><td valign="top"></td><td valign="top"><em>VALUE</em>&nbsp;</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">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__rbtree.html#gb8c3c4319c7631622af23e39a7870c2b">gdsl_rbtree_t</a>&nbsp;</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 *&nbsp;</td>          <td class="mdname" nowrap> <em>VALUE</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </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>&nbsp;</td><td>The red-black tree to remove an element from </td></tr>    <tr><td valign="top"></td><td valign="top"><em>VALUE</em>&nbsp;</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 + -