Maison  >  Article  >  programmation quotidienne  >  Comment implémenter une permutation complète et une combinaison de chaînes en PHP ? (Photos, texte + vidéo)

Comment implémenter une permutation complète et une combinaison de chaînes en PHP ? (Photos, texte + vidéo)

藏色散人
藏色散人original
2018-10-11 13:46:477153parcourir

Cet article vous présente principalement comment l'algorithme de permutation de chaînes PHP est implémenté spécifiquement.

Je crois que tout le monde connaît le concept de permutation totale, car il s'agit d'un point de connaissance essentiel dans les textes de mathématiques du lycée ou du collège. L'arrangement total consiste à sélectionner au hasard m (m ≤ n) éléments parmi n éléments différents et à les disposer dans un certain ordre. C'est ce qu'on appelle un arrangement dans lequel m éléments sont pris parmi n éléments différents. Lorsque m = n, tous les arrangements. sont La situation est appelée arrangement complet.

Ensuite, dans notre processus d'apprentissage PHP, nous rencontrerons également des problèmes concernant l'arrangement complet des chaînes.

Ci-dessous, nous présenterons en détail l'algorithme arrangement complet de chaînes PHP à travers des exemples de code spécifiques.

<?php
$str = &#39;abc&#39;;
// 字符串转换为数组
$a = str_split($str);
// 调用perm函数
perm($a, 0,count($a) - 1);
/**
 * 定义perm函数
 * @param $ar // 排列的字符串
 * @param $k // 初始值
 * @param $m // 最大值
 */
function perm(&$ar, $k, $m)
{
    // 初始值是否等于最大值
    if ($k == $m) {
        // 将数组转换为字符串
        echo join(&#39;&#39;, $ar), PHP_EOL;
    } else {
        // 循环调用函数
        for ($i = $k; $i <= $m; $i++) {
            // 调用swap函数
            swap($ar[$k], $ar[$i]);
            // 递归调用自己
            perm($ar, $k + 1, $m);
            // 再次调用swap函数
            swap($ar[$k], $ar[$i]);
        }
    }
}

function swap(&$a, &$b)
{
    $c = $a;
    $a = $b;
    $b = $c;
}

Ici, nous définissons principalement deux méthodes, la fonction perm et swap, et annotons la signification de chaque étape de l'opération en détail dans le code, ce qui est utile pour votre référence et votre compréhension.

Donc, dans le code ci-dessus, nous impliquons l'algorithme récursif. Les amis qui ne sont pas clairs sur ce point de connaissance peuvent se référer à cet article [Comment implémenter le tri récursif en PHP ? ].

Enfin accessible via le navigateur, Les chaînes sont toutes disposéesLes résultats sont les suivants :

Comment implémenter une permutation complète et une combinaison de chaînes en PHP ? (Photos, texte + vidéo)

Cet article est à propos de Une introduction à l'algorithme pour réaliser la permutation complète et la combinaison de chaînes en PHP a une certaine valeur de référence, j'espère qu'elle sera utile aux amis dans le besoin !

Si vous souhaitez en savoir plus sur PHP, vous pouvez suivre le site Web PHP chinois Tutoriel vidéo PHP, tout le monde est invité à s'y référer et à apprendre !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn