Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjana Semua Pilihatur Rentetan dalam PHP?

Bagaimana untuk Menjana Semua Pilihatur Rentetan dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-01 04:30:13524semak imbas

How to Generate All Permutations of a String in PHP?

Menjana Pilihatur Rentetan dalam PHP

Soalan:

Bagaimana seseorang boleh menjana semua boleh pilih atur semua aksara dalam rentetan tertentu menggunakan PHP?

Jawapan:

Untuk menjana semua pilih atur rentetan, anda boleh menggunakan pendekatan berasaskan penjejakan belakang yang meneroka semua kemungkinan secara sistematik gabungan.

Pelaksanaan:

// 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.

Contoh Penggunaan:

Melaksanakan coretan kod:

#php a.php

akan menjana dan mencetak semua pilih atur rentetan yang mungkin "hai":

hey
hye
ehy
eyh
yeh
yhe

Atas ialah kandungan terperinci Bagaimana untuk Menjana Semua Pilihatur Rentetan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn