Java實現笛卡爾積

2021-06-08 22:37:17 字數 1988 閱讀 6706

/*** 產生笛卡爾積組合.

*

* @param crossargs 資訊組合。

*

*  格式:,

*          ,

*          ,

*          ...

*    }

*

*

* @return 笛卡爾積組合結果

*/

publicstaticlist> cross(list> crossargs)

// 笛卡爾積索引記錄

intrecord =newint[crossargs.size()];

list> results =newarraylist>();

// 產生笛卡爾積

for(inti =0; i < rows; i++)

results.add(row);

crossrecord(crossargs, record, crossargs.size() -1);

}

returnresults;

}

/**

* 產生笛卡爾積當前行索引記錄.

*

* @param sourceargs 要產生笛卡爾積的源資料

* @param record 每行笛卡爾積的索引組合

* @param level 索引組合的當前計算層級

*/

privatestaticvoidcrossrecord(list> sourceargs,intrecord,intlevel)

笛卡爾積演算法的Java實現

1 迴圈內,每次只有一列向下移乙個單元格,就是counterindex指向的那列。2 如果該列到尾部了,則這列index重置為0,而counterindex則指向前一列,相當於進製,把前列的index加一。3 最後,由生成的行數來控制退出迴圈。public class test private st...

php實現笛卡爾積

1.定義 笛卡爾乘積是指在數學中,兩個集合x和y的笛卡尓積 cartesian product 又稱直積,表示為x y,第乙個物件是x的成員而第二個物件是y的所有可能有序對的其中乙個成員。2.實現方法一 arr array array 黑色 紅色 白色 黑色 紫色 array 36碼 37碼 38碼...

php實現笛卡爾積

問題 有那麼乙個陣列 arr array array 1,2,3 array 中 國 人 array a b c 要求使用php語言實現計算該陣列的笛卡爾積。實現過程如下所示 arr array array 1,2,3 array 中 國 人 array a b c function diker a...