相关疑难解决方法(0)

如何创建矢量矢量的笛卡尔积?

我有一个矢量说vector<vector<int> > items不同大小的矢量,如下所示

1,2,3
4,5
6,7,8
Run Code Online (Sandbox Code Playgroud)

我想根据这些向量的笛卡尔积来创建组合

1,4,6
1,4,7
1,4,8
and so on till
3,5,8
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?我查了几个链接,我也在这篇文章的末尾列出了它们,但我无法解释它,因为我不熟悉这种语言.有些人可以帮助我.

#include <iostream>
#include <iomanip>
#include <vector>

using namespace std;

int main()
{
    vector<vector<int> > items;
    int k = 0;

    for ( int i = 0; i < 5; i++ ) {
        items.push_back ( vector<int>() );

        for ( int j = 0; j < 5; j++ )
            items[i].push_back ( k++ );
    }

    cartesian ( items ); // I want some function here …
Run Code Online (Sandbox Code Playgroud)

c++ combinations vector cartesian-product

20
推荐指数
3
解决办法
2万
查看次数

几种载体的笛卡尔积

之前已经提出了类似的问题,但我找不到与我的问题完全匹配的问题.

我有4个向量,每个向量保持200-500个4位整数.每个向量中元素的确切数量各不相同,但我可以将其修复为特定值.我需要找到这4个向量中所有元素的可能组合.

例如:

v1 [10,30] v2 [11,45] v3 [63,56] v4 [82,98]

所以我会得到这样的东西:

[10,11,63,82]; [30,11,63,82]; [10,45,63,82]; [10,45,56,82]等..

这个算法有一个共同的名称,所以我可以在网上找到一些参考吗?否则,在C++中实现它的任何提示都会有所帮助.性能不是问题,因为我只需要运行一次算法.STL中是否有任何内置功能?

c++ math combinations vector unique

2
推荐指数
1
解决办法
3166
查看次数

标签 统计

c++ ×2

combinations ×2

vector ×2

cartesian-product ×1

math ×1

unique ×1