国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php實現的生成排列算法示例

2024-05-05 00:10:34
字體:
來源:轉載
供稿:網友

本文實例講述了php實現的生成排列算法。分享給大家供大家參考,具體如下:

<?phpfunction perm($s, $n, $index){  if($n == 0)  {     return '';  }  else  {    $nIndex = count($index);  //可用的字符串下標    $res = array();    foreach($index as $i => $v)    {      $tmp = $index;      unset($tmp[$i]);    //去掉當前的前綴      /* 調試信息,便于理解      echo "len $n , cur $i , index:/n";      var_dump($tmp);       */      $ret = perm($s, $n-1, $tmp);  //遞歸得到稍短的排列      if($ret != '')      {        foreach($ret as $r)        {          $res[] = $s[$v] . $r;  //將稍短的排列逐個拼上當前的前綴        }      }      else      {        $res[] = $s[$v];      }    }    return $res;  }}function getPerm($s){  $n = strlen($s);  $index = range(0, $n-1);  //得到不同長度的排列  for($i=1; $i<=$n; $i++)  {    var_dump(perm($s, $i, $index));  }}getPerm('abcd');?>

運行結果:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
}
array(12) {
  [0]=>
  string(2) "ab"
  [1]=>
  string(2) "ac"
  [2]=>
  string(2) "ad"
  [3]=>
  string(2) "ba"
  [4]=>
  string(2) "bc"
  [5]=>
  string(2) "bd"
  [6]=>
  string(2) "ca"
  [7]=>
  string(2) "cb"
  [8]=>
  string(2) "cd"
  [9]=>
  string(2) "da"
  [10]=>
  string(2) "db"
  [11]=>
  string(2) "dc"
}
array(24) {
  [0]=>
  string(3) "abc"
  [1]=>
  string(3) "abd"
  [2]=>
  string(3) "acb"
  [3]=>
  string(3) "acd"
  [4]=>
  string(3) "adb"
  [5]=>
  string(3) "adc"
  [6]=>
  string(3) "bac"
  [7]=>
  string(3) "bad"
  [8]=>
  string(3) "bca"
  [9]=>
  string(3) "bcd"
  [10]=>
  string(3) "bda"
  [11]=>
  string(3) "bdc"
  [12]=>
  string(3) "cab"
  [13]=>
  string(3) "cad"
  [14]=>
  string(3) "cba"
  [15]=>
  string(3) "cbd"
  [16]=>
  string(3) "cda"
  [17]=>
  string(3) "cdb"
  [18]=>
  string(3) "dab"
  [19]=>
  string(3) "dac"
  [20]=>
  string(3) "dba"
  [21]=>
  string(3) "dbc"
  [22]=>
  string(3) "dca"
  [23]=>
  string(3) "dcb"
}
array(24) {
  [0]=>
  string(4) "abcd"
  [1]=>
  string(4) "abdc"
  [2]=>
  string(4) "acbd"
  [3]=>
  string(4) "acdb"
  [4]=>
  string(4) "adbc"
  [5]=>
  string(4) "adcb"
  [6]=>
  string(4) "bacd"
  [7]=>
  string(4) "badc"
  [8]=>
  string(4) "bcad"
  [9]=>
  string(4) "bcda"
  [10]=>
  string(4) "bdac"
  [11]=>
  string(4) "bdca"
  [12]=>
  string(4) "cabd"
  [13]=>
  string(4) "cadb"
  [14]=>
  string(4) "cbad"
  [15]=>
  string(4) "cbda"
  [16]=>
  string(4) "cdab"
  [17]=>
  string(4) "cdba"
  [18]=>
  string(4) "dabc"
  [19]=>
  string(4) "dacb"
  [20]=>
  string(4) "dbac"
  [21]=>
  string(4) "dbca"
  [22]=>
  string(4) "dcab"
  [23]=>
  string(4) "dcba"
}

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 乌兰浩特市| 漳平市| 襄樊市| 梅州市| 阜新市| 山阳县| 双城市| 含山县| 大庆市| 疏勒县| 濮阳县| 兰州市| 收藏| 台中县| 东辽县| 新晃| 九寨沟县| 松滋市| 江西省| 通化市| 寻乌县| 富锦市| 大连市| 城口县| 通榆县| 定结县| 太和县| 大竹县| 康平县| 达拉特旗| 桃源县| 萨嘎县| 盐亭县| 小金县| 黔西县| 云和县| 五指山市| 临朐县| 越西县| 吴忠市| 库伦旗|