Maison >développement back-end >tutoriel php >Comment générer toutes les permutations d'une chaîne en PHP ?
Générer des permutations d'une chaîne en PHP
Question :
Comment peut-on générer tous permutations possibles de tous les caractères d'une chaîne donnée en utilisant PHP ?
Réponse :
Pour générer toutes les permutations d'une chaîne, vous pouvez utiliser une approche basée sur le backtracking qui explore systématiquement toutes les combinaisons possibles.
Mise en œuvre :
// 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.
Exemple Utilisation :
Exécuter l'extrait de code :
#php a.php
générera et imprimera toutes les permutations possibles de la chaîne "hey":
hey hye ehy eyh yeh yhe
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!