ホームページ > バックエンド開発 > 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート