遞迴構造不定長陣列的組合

2021-08-21 06:29:14 字數 919 閱讀 4946

需求描述:現有乙個不定長的陣列,裡面包含多個維度的資訊,求所有的組合

簡單說這個需求就是類似電商平台買鞋子,假設鞋子a有兩個顏色,分別為紅色和白色,有三種尺碼,分別為37、38和39,那這樣就會有如下6種組合:

1.紅色37碼

2.紅色38碼

3.紅色39碼

4.白色37碼

5.白色38碼

6.白色39碼

如上的例子中只有兩個維度,顏色和尺碼,當前的需求是要算出不固定維度下的所有組合情況,js**實現如下:

//

當前遍歷的索引

varcurindex = 0;//

結果集varresultarr = ;//把

json

字串轉換為物件

varallarr = json.parse('[,]},,]},,]},,,]}]');

//var allarr = json.parse('[,,,,]},,,,,,,]}]');

structureresult('');

console.info(resultarr);

/***

遞迴構造結果集

*/functionstructureresult(result)else

//如果迴圈的是最後一層

, 那就新增到結果集

if(curindex == allarr.length - 1)else

//當前迴圈的最後乙個元素

if(index == list.length - 1)

});}}

不定長陣列 vector

使用需要包含標頭檔案 include vector是乙個模板類,所以需要用vectora或者vectorb這種方式宣告。vector的常用操作 int len a.size 返回vector長度 a.resize 100 把a長度變為100 a.push back 10 把10新增到尾部 a.pop...

不定長陣列 vector

vector是乙個不定長陣列模板類,所以需要用vectora或者vectorb這樣的方式來進行宣告乙個vector。vector是乙個類似於int a的整數陣列,而vector就是乙個類似於string a的字串陣列。使用vector時要加 include標頭檔案 常用的vector陣列的方法有 i...

STL vector 不定長陣列

包含在vector標頭檔案中 使用方式為 vector int vec 定義了乙個vec陣列 vector int vec 10 定義了元素數,各元素都為0 有 size 函式 返回陣列元素數,即陣列大小 resize 函式 重置陣列大小 push back argu 函式向後新增元素argu po...