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

首頁 > 語言 > PHP > 正文

淺談PHP的排列組合(如輸入a,b,c 輸出他們的全部組合)

2024-05-04 23:55:51
字體:
來源:轉載
供稿:網友

實例如下:

<?php/*分治法——直接選擇比如說a b c首先將a之后的字符依次與a進行交換1 b,a,c2 c,b,a注意這里少了一個原始數據 a,b,c。需要把原始數據也算如排列中3 a,b,c然后把字符移到第二個位置,將第二個位置之后的數分別與第二個位置的數進行交換1 b,a,c ===> 11 b,c,a2 c,b,a ===> 21 c,a,b3 a,b,c ===> 31 a,c,b**/function zuhe($arr,$begin){  if(!is_array($arr)) return ;  $N = count($arr);  if($begin == $N-1 || $begin >$N || $begin <0) return ;  if($begin == 0){    print_r($arr);//輸出原始數據    echo '</br>';  }   //循環將初始值與第i個值交換后進行組合  for($i = $begin;$i < $N;$i++){    $t = $arr[$begin];    $arr[$begin] = $arr[$i];    $arr[$i] = $t;    if($i!==$begin){//i==begin時的數已經輸出過      print_r($arr);      echo '</br>';    }    zuhe($arr,$begin+1);      $t = $arr[$begin];    $arr[$begin] = $arr[$i];    $arr[$i] = $t;  }}$arr = array('a','b','c','d');//zuhe($arr,0);/*分治法——直接插入初始時從0個元素開始,輸出初始序列,為組合的一個序列當在來一個元素時只需將該元素放在該元素之前的元素組的不同的位置即組成了不同的排列如已有元素組為a,b.新元素為c,把c分別與a,b進行交換即可(a,c,b);(c,b,a),在現有的排列上在新增元素重復執行以上步驟*/function zuhe2($arr,$begin){  if($begin==0) {    print_r($arr);    echo "</br>";    //zuhe2($arr,$begin+1);  }  if($begin >= count($arr)) return ;  zuhe2($arr,$begin+1);//begin時的排列上一次已產生,直接新增元素  for($i = $begin-1;$i>=0;$i--){    $t = $arr[$begin];    $arr[$begin] = $arr[$i];    $arr[$i] = $t;    print_r($arr);    echo "</br>";    zuhe2($arr,$begin +1);    $t = $arr[$begin];    $arr[$begin] = $arr[$i];    $arr[$i] = $t;  }}

以上這篇淺談PHP的排列組合(如輸入a,b,c 輸出他們的全部組合)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


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

圖片精選

主站蜘蛛池模板: 新化县| 贺州市| 临沂市| 清河县| 定远县| 林甸县| 静乐县| 隆化县| 中山市| 新疆| 许昌县| 广东省| 达州市| 吉木乃县| 许昌县| 安阳县| 清水河县| 利辛县| 神农架林区| 台前县| 涟水县| 通海县| 桐庐县| 周至县| 仁化县| 合川市| 淮阳县| 聊城市| 蚌埠市| 大港区| 金塔县| 信阳市| 上高县| 元谋县| 杂多县| 蒙山县| 西充县| 泸溪县| 石景山区| 新竹县| 景洪市|