📄 group__gdsl__heap.html
字号:
<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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a> </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 * </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>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> </td><td>The heap to substitute the top element </td></tr> <tr><td valign="top"></td><td valign="top"><em>VALUE</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a> </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 * </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>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> </td><td>The heap 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 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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>H</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>H</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group__gdsl__heap.html#g78edcc85d3172b3983098958b91d6e44">gdsl_heap_t</a> </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> </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 * </td> <td class="mdname" nowrap> <em>USER_DATA</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -