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(&$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 中国語 Web サイトの他の関連記事を参照してください。