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