首页 > 后端开发 > php教程 > 如何在 PHP 中生成字符串的所有排列?

如何在 PHP 中生成字符串的所有排列?

Patricia Arquette
发布: 2024-12-01 04:30:13
原创
431 人浏览过

How to Generate All Permutations of a String in PHP?

在 PHP 中生成字符串的排列

问题:

如何生成所有使用给定字符串中所有字符的可能排列PHP?

答案:

要生成字符串的所有排列,您可以利用基于回溯的方法来系统地探索所有可能的排列

实现:

// function to generate and print all N! permutations of $str. (N = strlen($str)).
function permute($str,$i,$n) {
   if ($i == $n)
       print "$str\n";
   else {
        for ($j = $i; $j < $n; $j++) {
          swap($str,$i,$j);
          permute($str, $i+1, $n);
          swap($str,$i,$j); // backtrack.
       }
   }
}

// function to swap the char at pos $i and $j of $str.
function swap(&amp;$str,$i,$j) {
    $temp = $str[$i];
    $str[$i] = $str[$j];
    $str[$j] = $temp;
}   

$str = "hey";
permute($str,0,strlen($str)); // call the function.
登录后复制

使用示例:

执行代码片段:

#php a.php
登录后复制

将生成并打印字符串的所有可能的排列“嘿”:

hey
hye
ehy
eyh
yeh
yhe
登录后复制

以上是如何在 PHP 中生成字符串的所有排列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板