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

📄 group__gdsl__bstree.html

📁 一个通用的C语言实现的数据结构
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_bstree_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 binary search tree to compute the height from </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the height of the binary search tree T (noted h(T)). </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__bstree.html#g3637f29c2a2aab7e4395aeb754950b82">gdsl_bstree_get_size()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g1cdbd5dafd1736a28eaaa9984f1c7130"></a><!-- doxytag: member="gdsl_bstree.h::gdsl_bstree_set_name" ref="g1cdbd5dafd1736a28eaaa9984f1c7130" args="(gdsl_bstree_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__bstree.html#ge61c7d19b77e729ef8f79d4709b08aaf">gdsl_bstree_t</a> gdsl_bstree_set_name           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__bstree.html#ge61c7d19b77e729ef8f79d4709b08aaf">gdsl_bstree_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 binary search tree. <p>Change the previous name of the binary search 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_bstree_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 binary search 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 binary search 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__bstree.html#ga8de37ef22df3fcf158d817cd2b71989">gdsl_bstree_get_name()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="gafeefcedb22ace91320aca9d765f1ed5"></a><!-- doxytag: member="gdsl_bstree.h::gdsl_bstree_insert" ref="gafeefcedb22ace91320aca9d765f1ed5" args="(gdsl_bstree_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_bstree_insert           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__bstree.html#ge61c7d19b77e729ef8f79d4709b08aaf">gdsl_bstree_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 binary search tree if it's not found or return it. <p>Search for the first element E equal to VALUE into the binary search tree T, by using T's COMP_F function passed to gdsl_bstree_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_bstree_alloc and is inserted and then returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( h(T) ), where log2(|T|) &lt;= h(T) &lt;= |T|-1 </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_bstree_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 binary search 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__bstree.html#g65cd9f86967ce6bab2c84f3624d27b9b">gdsl_bstree_remove()</a> <p><a class="el" href="group__gdsl__bstree.html#g222155ce5b98ac50724ea0c3dad779f1">gdsl_bstree_delete()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g65cd9f86967ce6bab2c84f3624d27b9b"></a><!-- doxytag: member="gdsl_bstree.h::gdsl_bstree_remove" ref="g65cd9f86967ce6bab2c84f3624d27b9b" args="(gdsl_bstree_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_bstree_remove           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__bstree.html#ge61c7d19b77e729ef8f79d4709b08aaf">gdsl_bstree_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 binary search tree. <p>Remove from the binary search 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__bstree.html#g827933a8d53368e7941811dbcd9d30c6">gdsl_bstree_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( h(T) ), where log2(|T|) &lt;= h(T) &lt;= |T|-1 <p>The resulting T is modified by examinating the left sub-tree from the founded E. </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_bstree_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 binary search 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__bstree.html#gafeefcedb22ace91320aca9d765f1ed5">gdsl_bstree_insert()</a> <p><a class="el" href="group__gdsl__bstree.html#g222155ce5b98ac50724ea0c3dad779f1">gdsl_bstree_delete()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g222155ce5b98ac50724ea0c3dad779f1"></a><!-- doxytag: member="gdsl_bstree.h::gdsl_bstree_delete" ref="g222155ce5b98ac50724ea0c3dad779f1" args="(gdsl_bstree_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__bstree.html#ge61c7d19b77e729ef8f79d4709b08aaf">gdsl_bstree_t</a> gdsl_bstree_delete           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__bstree.html#ge61c7d19b77e729ef8f79d4709b08aaf">gdsl_bstree_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 binary search tree. <p>Remove from the binary search tree the first founded element E equal to VALUE, by using T's COMP_F function passed to <a class="el" href="group__gdsl__bstree.html#g827933a8d53368e7941811dbcd9d30c6">gdsl_bstree_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__bstree.html#g827933a8d53368e7941811dbcd9d30c6">gdsl_bstree_alloc()</a>, then T is returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( h(T) ), where log2(|T|) &lt;= h(T) &lt;= |T|-1 <p>the resulting T is modified by examinating the left sub-tree from the founded E. </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>T must be a valid gdsl_bstree_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 binary search 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 binary search tree after removal of E if E was found. <p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -