Heim >tägliche Programmierung >PHP-Kenntnisse >Wie implementiert man eine vollständige Permutation und Kombination von Zeichenfolgen in PHP? (Bilder + Videos)

Wie implementiert man eine vollständige Permutation und Kombination von Zeichenfolgen in PHP? (Bilder + Videos)

藏色散人
藏色散人Original
2018-10-11 13:46:477429Durchsuche

In diesem Artikel erfahren Sie hauptsächlich, wie der PHP-String-Permutationsalgorithmus konkret implementiert wird.

Ich glaube, jeder kennt das Konzept der totalen Permutation, weil es ein wesentlicher Kurswissenspunkt in Mathematiktexten an Gymnasien oder Hochschulen ist. Die Gesamtanordnung besteht darin, m (m ≤ n) Elemente zufällig aus n verschiedenen Elementen auszuwählen und sie in einer bestimmten Reihenfolge anzuordnen. Dies wird als Anordnung bezeichnet, bei der m Elemente aus n verschiedenen Elementen entnommen werden Die Situation wird als vollständige Anordnung bezeichnet.

Dann werden wir in unserem PHP-Lernprozess auch auf Probleme mit der vollständigen Anordnung der Strings stoßen.

Im Folgenden stellen wir den PHP-String-Full-Arrangement-Algorithmus im Detail anhand spezifischer Codebeispiele vor.

<?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;
}

Hier definieren wir hauptsächlich zwei Methoden, Perm und Swap-Funktion, und kommentieren die Bedeutung jedes Operationsschritts detailliert im Code, was für Ihre Referenz und Ihr Verständnis hilfreich ist.

Im obigen Code beziehen wir also den rekursiven Algorithmus ein. Freunde, die sich über diesen Wissenspunkt nicht im Klaren sind, können auf diesen Artikel verweisen [Wie implementiert man rekursive Sortierung in PHP? ].

Endlich über den Browser aufgerufen, Die Zeichenfolgen sind alle angeordnetDie Ergebnisse sind wie folgt:

Wie implementiert man eine vollständige Permutation und Kombination von Zeichenfolgen in PHP? (Bilder + Videos)

Dieser Artikel ist ÜberEine Einführung in den Algorithmus zur Realisierung der vollständigen Permutation und Kombination von Zeichenfolgen in PHP hat einen gewissen Referenzwert. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!

Wenn Sie mehr über PHP erfahren möchten, können Sie der chinesischen PHP-Website folgen PHP-Video-Tutorial, jeder ist herzlich willkommen, sich darauf zu beziehen und zu lernen!

Das obige ist der detaillierte Inhalt vonWie implementiert man eine vollständige Permutation und Kombination von Zeichenfolgen in PHP? (Bilder + Videos). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn