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

📄 group__gdsl__queue.html

📁 一个通用的C语言实现的数据结构
💻 HTML
📖 第 1 页 / 共 4 页
字号:
          <td class="mdname" nowrap> <em>Q</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 in a queue (PUT). <p>Allocate a new element E by calling Q's ALLOC_F function on VALUE. ALLOC_F is the function pointer passed to <a class="el" href="group__gdsl__queue.html#g98006ec73e032caed82bc17880072abf">gdsl_queue_alloc()</a>. The new element E is then inserted at the header position of the queue Q.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>Q must be a valid gdsl_queue_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>Q</em>&nbsp;</td><td>The queue to insert in </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 Q </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__queue.html#g82b677888c8830cf524de6b0bd7f9814">gdsl_queue_remove()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g82b677888c8830cf524de6b0bd7f9814"></a><!-- doxytag: member="gdsl_queue.h::gdsl_queue_remove" ref="g82b677888c8830cf524de6b0bd7f9814" args="(gdsl_queue_t Q)" --><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_queue_remove           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__queue.html#g984e79831245f6a8194295299afc71ea">gdsl_queue_t</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>Q</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 an element from a queue (GET). <p>Remove the element at the footer position of the queue Q.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>Q must be a valid gdsl_queue_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>Q</em>&nbsp;</td><td>The queue to remove the tail from </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the removed element in case of success. <p>NULL in case of Q is empty. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__queue.html#gea1d99dd4c2cefa1cc23bcb6fcc71aa8">gdsl_queue_insert()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="gd729451f16f125127cb27ebbc1716eac"></a><!-- doxytag: member="gdsl_queue.h::gdsl_queue_search" ref="gd729451f16f125127cb27ebbc1716eac" args="(const gdsl_queue_t Q, gdsl_compare_func_t COMP_F, 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_queue_search           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="group__gdsl__queue.html#g984e79831245f6a8194295299afc71ea">gdsl_queue_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>Q</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#g200177a9a1ac3f2363e228b0e5faeda7">gdsl_compare_func_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>COMP_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>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>Search for a particular element in a queue. <p>Search for the first element E equal to VALUE in the queue Q, by using COMP_F to compare all Q's element with.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |Q| / 2 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>Q must be a valid gdsl_queue_t &amp; COMP_F != 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>Q</em>&nbsp;</td><td>The queue to search the element in </td></tr>    <tr><td valign="top"></td><td valign="top"><em>COMP_F</em>&nbsp;</td><td>The comparison function used to compare Q's element with VALUE </td></tr>    <tr><td valign="top"></td><td valign="top"><em>VALUE</em>&nbsp;</td><td>The value to compare Q's elements with </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the first founded element E in case of success. <p>NULL in case the searched element E was not found. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__queue.html#gcd42fa493e982b05f5937299cbacabf4">gdsl_queue_search_by_position</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="gcd42fa493e982b05f5937299cbacabf4"></a><!-- doxytag: member="gdsl_queue.h::gdsl_queue_search_by_position" ref="gcd42fa493e982b05f5937299cbacabf4" args="(const gdsl_queue_t Q, ulong POS)" --><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_queue_search_by_position           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="group__gdsl__queue.html#g984e79831245f6a8194295299afc71ea">gdsl_queue_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>Q</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#g9c34ac44da309b004570530c8cec8a0e">ulong</a>&nbsp;</td>          <td class="mdname" nowrap> <em>POS</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>Search for an element by its position in a queue. <p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |Q| / 2 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>Q must be a valid gdsl_queue_t &amp; POS &gt; 0 &amp; POS &lt;= |Q| </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>Q</em>&nbsp;</td><td>The queue to search the element in </td></tr>    <tr><td valign="top"></td><td valign="top"><em>POS</em>&nbsp;</td><td>The position where is the element to search </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the element at the POS-th position in the queue Q. <p>NULL if POS &gt; |L| or POS &lt;= 0. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__queue.html#gd729451f16f125127cb27ebbc1716eac">gdsl_queue_search()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g33943cf6767a0a3fc9e5445324fe6dcc"></a><!-- doxytag: member="gdsl_queue.h::gdsl_queue_map_forward" ref="g33943cf6767a0a3fc9e5445324fe6dcc" args="(const gdsl_queue_t Q, 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_queue_map_forward           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="group__gdsl__queue.html#g984e79831245f6a8194295299afc71ea">gdsl_queue_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>Q</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>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Parse a queue from head to tail. <p>Parse all elements of the queue Q from head to tail. The MAP_F function is called on each Q's element with USER_DATA argument. If MAP_F returns GDSL_MAP_STOP, then <a class="el" href="group__gdsl__queue.html#g33943cf6767a0a3fc9e5445324fe6dcc">gdsl_queue_map_forward()</a> stops and returns its last examinated element.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |Q| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>Q must be a valid gdsl_queue_t &amp; MAP_F != 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>Q</em>&nbsp;</td><td>The queue to parse </td></tr>    <tr><td valign="top"></td><td valign="top"><em>MAP_F</em>&nbsp;</td><td>The map function to apply on each Q's element </td></tr>    <tr><td valign="top"></td><td valign="top"><em>USER_DATA</em>&nbsp;</td><td>User's datas passed to MAP_F </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the first element for which MAP_F returns GDSL_MAP_STOP. <p>NULL when the parsing is done. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__queue.html#g23b534e3ef5e617544134c77340e78ae">gdsl_queue_map_backward()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g23b534e3ef5e617544134c77340e78ae"></a><!-- doxytag: member="gdsl_queue.h::gdsl_queue_map_backward" ref="g23b534e3ef5e617544134c77340e78ae" args="(const gdsl_queue_t Q, gdsl_map_func_t MAP_F, void *USER_DATA)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>

⌨️ 快捷键说明

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