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

首頁 > 編程 > JavaScript > 正文

JS實現的全排列組合算法示例

2019-11-19 15:13:18
字體:
來源:轉載
供稿:網友

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

全排列組合算法,例如a,b,c,d進行全排列組合,則組合結果為:a,b,ab,c,ac,bc,abc,d,ad,bd,abd,cd,acd,bcd,abcd。實現思路:從數據源拿出一個元素,依次與已存在的組合數據進行組合,循環上面操作直到數據源沒有數據為止。

例子:

數據源a,b,c

1.拿出a,組合數據group為空,插入數據源a元素到組合數據group,此時group=[a]
2.拿出b,組合數據group拿出a,a和b組合,得到ab,把數據源b元素、ab插入組合數據group,此時group=[a,b,ab]
3.拿出c,組合數據group拿出a、b、ab,分別與c組合,分別得到ac、bc、abc,把數據源c元素、ac、bc、abc插入組合數據group,此時group=[a,b,ab,c,ac,bc,abc]

js代碼:

var data = ['a','b','c','d'];function getGroup(data, index = 0, group = []) {  var need_apply = new Array();  need_apply.push(data[index]);  for(var i = 0; i < group.length; i++) {    need_apply.push(group[i] + data[index]);  }  group.push.apply(group, need_apply);  if(index + 1 >= data.length) return group;  else return getGroup(data, index + 1, group);}console.log(getGroup(data));

運行輸出結果:

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數據結構與算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新营市| 大余县| 镇宁| 渝北区| 涿鹿县| 海兴县| 民权县| 兴仁县| 永德县| 曲麻莱县| 宁夏| 寿阳县| 通城县| 浦北县| 孟津县| 手游| 开封县| 建水县| 静安区| 永宁县| 平陆县| 惠安县| 武胜县| 沙河市| 马龙县| 大足县| 桂东县| 灌阳县| 贵州省| 资源县| 阿拉善盟| 东宁县| 勐海县| 奉贤区| 昌邑市| 昭苏县| 临洮县| 潼关县| 平武县| 永丰县| 拜城县|