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

📄 group__gdsl__perm.html

📁 一个通用的C语言实现的数据结构
💻 HTML
📖 第 1 页 / 共 5 页
字号:
          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Convert a linear permutation to its canonical form. <p>Convert the linear permutation P to its canonical form. The resulted canonical permutation is placed into Q without modifying P.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P &amp; Q must be valids gdsl_perm_t &amp; |P| == |Q| &amp; P != 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 canonical form of P </td></tr>    <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>The linear permutation used to compute its canonical form into Q </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the canonical form Q of the permutation P. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#g648a4fc1929f159a58e3e768fa0396ae">gdsl_perm_canonical_to_linear()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g648a4fc1929f159a58e3e768fa0396ae"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_canonical_to_linear" ref="g648a4fc1929f159a58e3e768fa0396ae" args="(gdsl_perm_t Q, const gdsl_perm_t P)" --><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__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_canonical_to_linear           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_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>const <a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>P</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>Convert a canonical permutation to its linear form. <p>Convert the canonical permutation P to its linear form. The resulted linear permutation is placed into Q without modifying P.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P &amp; Q must be valids gdsl_perm_t &amp; |P| == |Q| &amp; P != 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 linear form of P </td></tr>    <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>The canonical permutation used to compute its linear form into Q </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the linear form Q of the permutation P. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#gd015b546ff3bad397617661869a1fcfb">gdsl_perm_linear_to_canonical()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="gefadbcc1a7b7182da1f54f7d10db3d2b"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_inverse" ref="gefadbcc1a7b7182da1f54f7d10db3d2b" args="(gdsl_perm_t P)" --><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__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_inverse           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>P</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>Inverse in place a permutation. <p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P must be a valid gdsl_perm_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>P</em>&nbsp;</td><td>The permutation to invert </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the inverse permutation of P 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__perm.html#g1db013c30cc84b004344fd1269614845">gdsl_perm_reverse()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="g1db013c30cc84b004344fd1269614845"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_reverse" ref="g1db013c30cc84b004344fd1269614845" args="(gdsl_perm_t P)" --><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__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_reverse           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>P</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>Reverse in place a permutation. <p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| / 2 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P must be a valid gdsl_perm_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>P</em>&nbsp;</td><td>The permutation to reverse </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the mirror image of the permutation P </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#gefadbcc1a7b7182da1f54f7d10db3d2b">gdsl_perm_inverse()</a> </dd></dl>    </td>  </tr></table><a class="anchor" name="ge98151cfcded6cf6d4a66374db5c4714"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_randomize" ref="ge98151cfcded6cf6d4a66374db5c4714" args="(gdsl_perm_t P)" --><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__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_randomize           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>P</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>Randomize a permutation. <p>The permutation P is randomized in an efficient way, using inversions array.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P must be a valid gdsl_perm_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>P</em>&nbsp;</td><td>The permutation to randomize </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the mirror image ~P of the permutation of P in case of success. <p>NULL in case of insufficient memory. </dd></dl>    </td>  </tr></table><a class="anchor" name="gf03dc9a6539bf9dca426858db7f55b51"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_apply_on_array" ref="gf03dc9a6539bf9dca426858db7f55b51" args="(gdsl_element_t *V, const gdsl_perm_t P)" --><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_perm_apply_on_array           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> *&nbsp;</td>          <td class="mdname" nowrap> <em>V</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>const <a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a>&nbsp;</td>          <td class="mdname" nowrap> <em>P</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 + -