<?php
class permutasyon{
var $uzunluk;
var $permutasyonSayac;
var $permutasyonlar;
var $ciz;
function permutasyon($veriler, $uzunluk) {
$this->uzunluk=$uzunluk;
for ($i = 0; $i < strlen($veriler); $i++) {
$permutasyonlar[0][$i] = substr($veriler, $i, 1);
$gecici[$i] = substr($veriler, $i, 1);
$gecici2[0][$i] = substr($veriler, $i, 1);
}
for ($i = 1; $i < $uzunluk; $i++) {
for ($k = 0; $k < strLen($veriler); $k++) {
for ($j = 0; $j < sizeof($gecici2[$i - 1]); $j++) {
$permutasyonlar[$i][($k * sizeof($gecici2[$i - 1])) + $j] = $gecici[$k] . $gecici2[$i - 1][$j];
$gecici2[$i][($k * sizeof($gecici2[$i - 1])) + $j] = $gecici[$k] . $gecici2[$i - 1][$j];
}
}
}
$k = 0;
for ($i = 0; $i < $uzunluk; $i++) {
$k += sizeof($permutasyonlar[$i]);
}
$this->permutasyonSayac = $k;
$this->permutasyonlar=$permutasyonlar;
return $permutasyonlar;
}
function ciz(){
for ($i = 0; $i < $this->uzunluk; $i++) {
for ($j = 0; $j < sizeof($this->permutasyonlar[$i]); $j++) {
$this->ciz.=$this->permutasyonlar[$i][$j] . "<br>";
}
$this->ciz.= "<br>";
}
return $this->ciz;
}
}
$permutasyon= new permutasyon("ab", 3);
echo "<b>".$permutasyon->permutasyonSayac."</b> permütasyon oluşturuldu.<br>";
echo $permutasyon->ciz();
?>
Çıktısı
14 permütasyon oluşturuldu.
a
b
aa
ab
ba
bb
aaa
aab
aba
abb
baa
bab
bba
bbb