一、测试函数
只针对不同元素。
二、组合
1、数组:{1, 2, 3}
2、组合:
{1}
{2}
{3}
{1, 2}
{1, 3}
{2, 3}
{1, 2, 3}
3、代码:
只针对不同元素。
int main(int argc, _TCHAR* argv[])
{
vector<vector<int>> groups;
// 组合
/*for (int i = 0; i < 5; i++)
{
combination(5, i, groups);
}*/
// 排列 递归
//permutation2(5, groups);
// 排列 非递归
permutation(5, groups);
for (int i = 0; i < groups.size(); i++)
{
vector<int> &group = groups[i];
for (int j = 0; j < group.size(); j++)
{
cout << group[j] + 1 << " ";
}
cout << '\n';
}
cout << endl;
return 0;
}
二、组合
1、数组:{1, 2, 3}
2、组合:
{1}
{2}
{3}
{1, 2}
{1, 3}
{2, 3}
{1, 2, 3}
3、代码:
/*
* 排列组合
* 从N个元素中选取M个元素组合
*/
void combination(int maxLen,