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

Bagaimana untuk Menjana Semua Pilihatur Rentetan dalam PHP?

Patricia Arquette
Lepaskan: 2024-12-01 04:30:13
asal
431 orang telah melayarinya

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.
Salin selepas log masuk

Contoh Penggunaan:

Melaksanakan coretan kod:

#php a.php
Salin selepas log masuk

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

hey
hye
ehy
eyh
yeh
yhe
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan