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

📄 group__gdsl__heap.html

📁 一个通用的C语言实现的数据结构
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<dl compact><dt><b>Returns:</b></dt><dd>the modified heap 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__heap.html#g042886cdec3eab67e5c9846dcf372153">gdsl_heap_get_name()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g487b264a271d14cb9feeef6f70c31ff0"></a><!-- doxytag: member="gdsl_heap.h::gdsl_heap_set_top" ref="g487b264a271d14cb9feeef6f70c31ff0" args="(gdsl_heap_t H, 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_heap_set_top           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>H</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>Substitute the top element of a heap by a lesser one. <p>Try to replace the top element of a heap by a lesser one.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log ( |H| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>H must be a valid gdsl_heap_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>H</em>&nbsp;</td><td>The heap to substitute the top element </td></tr>    <tr><td valign="top"></td><td valign="top"><em>VALUE</em>&nbsp;</td><td>the value to substitute to the top </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>The old top element value in case VALUE is lesser than all other H elements. <p>NULL in case of VALUE is greather or equal to all other H elements. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__heap.html#gfb1797eb31cd1c7f9011dc5170b3e694">gdsl_heap_get_top()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g908a843511c403c581b5ec6c415c5da3"></a><!-- doxytag: member="gdsl_heap.h::gdsl_heap_insert" ref="g908a843511c403c581b5ec6c415c5da3" args="(gdsl_heap_t H, 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_heap_insert           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>H</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>Insert an element into a heap (PUSH). <p>Allocate a new element E by calling H's ALLOC_F function on VALUE. The element E is then inserted into H at the good position to ensure H is always a heap.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log ( |H| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>H must be a valid gdsl_heap_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>H</em>&nbsp;</td><td>The heap 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 H </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the inserted element E 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__heap.html#gd1346deeacc31ebad0ec43326210e91b">gdsl_heap_alloc()</a> <p>gdsl_heap_remove() <p>gdsl_heap_delete() <p><a class="el" href="group__gdsl__heap.html#g0b07df738a31dea80792fdc09f1faafe">gdsl_heap_get_size()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g1dd8eec61cd56e6dcd7fb3120e634ed1"></a><!-- doxytag: member="gdsl_heap.h::gdsl_heap_remove_top" ref="g1dd8eec61cd56e6dcd7fb3120e634ed1" args="(gdsl_heap_t H)" --><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_heap_remove_top           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>H</em>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Remove the top element from a heap (POP). <p>Remove the top element from the heap H. The element is removed from H and is also returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log ( |H| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>H must be a valid gdsl_heap_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>H</em>&nbsp;</td><td>The heap to modify </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the removed top element. <p>NULL if the heap is empty. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__heap.html#g908a843511c403c581b5ec6c415c5da3">gdsl_heap_insert()</a> <p><a class="el" href="group__gdsl__heap.html#g3db73501b51ca73ad181342af4003069">gdsl_heap_delete_top()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g3db73501b51ca73ad181342af4003069"></a><!-- doxytag: member="gdsl_heap.h::gdsl_heap_delete_top" ref="g3db73501b51ca73ad181342af4003069" args="(gdsl_heap_t H)" --><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__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a> gdsl_heap_delete_top           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>H</em>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Delete the top element from a heap. <p>Remove the top element from the heap H. The element is removed from H and is also deallocated using H's FREE_F function passed to <a class="el" href="group__gdsl__heap.html#gd1346deeacc31ebad0ec43326210e91b">gdsl_heap_alloc()</a>, then H is returned.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( log ( |H| ) ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>H must be a valid gdsl_heap_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>H</em>&nbsp;</td><td>The heap to modify </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the modified heap after removal of top element. <p>NULL if heap is empty. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__heap.html#g908a843511c403c581b5ec6c415c5da3">gdsl_heap_insert()</a> <p><a class="el" href="group__gdsl__heap.html#g1dd8eec61cd56e6dcd7fb3120e634ed1">gdsl_heap_remove_top()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g150786779bc204172a7b3479591d49d1"></a><!-- doxytag: member="gdsl_heap.h::gdsl_heap_map_forward" ref="g150786779bc204172a7b3479591d49d1" args="(const gdsl_heap_t H, gdsl_map_func_t MAP_F, void *USER_DATA)" --><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_heap_map_forward           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>H</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap><a class="el" href="group__gdsl__types.html#g2500bfaaec5df890e72b43f448f13ee8">gdsl_map_func_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>MAP_F</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>USER_DATA</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>

⌨️ 快捷键说明

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