• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP字符串全排列

php 搞代码 4年前 (2022-01-23) 16次浏览 已收录 0个评论

方法一:

<code><span>$str</span> = <span>'abc'</span>;<span>$a</span> =str_split(<span>$str</span>);perm(<span>$a</span>, <span>0</span>, count(<span>$a</span>)-<span>1</span>);<span><span>function</span><span>perm</span><span>(&<span>$ar</span>, <span>$k</span>, <span>$m</span>)</span> {</span><span>if</span>(<span>$k</span> == <span>$m</span>){         <span>echo</span> join(<span>''</span>,<span>$ar</span>), PHP_EOL;    }<span>else</span> {        <span>for</span>(<span>$i</span>=<span>$k</span>; <span>$i</span><=<span>$m</span>; <span>$i</span>++) {            swap(<span>$ar</span>[<span>$k</span>], <span>$ar</span>[<span>$i</span>]);            perm(<span>$ar</span>, <span>$k</span>+<span>1</span>, <span>$m</span>);            swap(<span>$ar</span>[<span>$k</span>], <span>$ar</span>[<span>$i</span>]);        }    }}<span><span>function</span><span>swap</span><span>(&<span>$a</span>, &<span>$b</span>)</span> {</span><span>$c</span> = <span>$a</span>;    <span>$a</span> = <span>$b</span>;    <span>$b</span> = <span>$c</span>;}</code>

方法二:

<code><span><span>function</span><span>output</span><span>(<span>$temp</span>,<span>$level</span>)</span> {</span><span>for</span>(<span>$i</span>=<span>0</span>;<span>$i</span><<span>$level</span>;<span>$i</span>++) {        <span>echo</span><span>$temp</span>[<span>$i</span>];    }    <span>echo</span> PHP_EOL;}<span>//产生全排列 递归参数传递一定要注意 </span><span><span>function</span><span>quanpai</span><span>(<span>$arr</span>,<span>$flag</span>,<span>$level</span>,<span>$num</span>,<span>$temp</span>)</span> {</span><span>if</span>(<span>$level</span>>=<span>$num</span>) {        output(<span>$temp</span>,<span>$num</span>);        <span>return</span>;    }    <span>for</span>(<span>$i</span>=<span>0</span>;<span>$i</span><<span>$num</span>;<span>$i</span>++) {        <span>if</span>(<span>$flag</span>[<span>$i</span>]==<span>0</span>) {            <span>$temp</span>[<span>$level</span>]=<span>$arr</span>[<span>$i</span>];            <span>$flag</span>[<span>$i</span>]=<span>1</span>;            quanpai(<span>$arr</span>,<span>$flag</span>,<span>$level</span>+<span>1</span>,<span>$num</span>,<span>$temp</span>);     <p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>       <span>$flag</span>[<span>$i</span>]=<span>0</span>;        }    }}<span>$str</span> = <span>'abc'</span>;<span>$arr</span>=str_split(<span>$str</span>);<span>$len</span>=count(<span>$arr</span>);<span>$i</span>=<span>0</span>;<span>$flag</span>=<span>array</span>();<span>$temp</span>=<span>array</span>();<span>while</span>(<span>$i</span><<span>$len</span>){    <span>$flag</span>[<span>$i</span>]=<span>0</span>;    <span>$i</span>++;}quanpai(<span>$arr</span>,<span>$flag</span>,<span>0</span>,<span>$len</span>,<span>$temp</span>);</code>

‘).addClass(‘pre-numbering’).hide(); $(this).addClass(‘has-numbering’).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('

  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    以上就介绍了PHP字符串全排列,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:PHP字符串全排列
    喜欢 (0)
    [搞代码]
    分享 (0)
  • 发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址