C :通过一组向量的向量进行迭代
C++ : iterate through a vector of set of vectors
我想要这样的东西:
{ {0,1},{0,2},{0,3},{0,4}...... {255,255} } ---> (1)
经过一些处理后,我必须得到这样的东西:
{ {0,1},{0,2},{0,3} }
{ {0,4} }
{ {5,6},{255,255} }
因此,最初一组由许多子集组成。每个子集由两个值组成。处理(1)中的一个大集合之后,像上述分解。
现在,我想迭代(1)中的集合,并从每个子集中获取每个子集的每个值。
这是我的代码。请指导我如何提取子集值。
crtbestPartitionDouble 对应于由子集组成的大型集。子组是一个由两个元素组成的子集双组是所有子集的集合
vector<set<vector<int> > > CrtBestPartitionDouble;
vector<set<vector<int> > > ::iterator itr;
set<vector<int> > doublegroup;
set<vector<int> >::iterator itr2;
vector<int>::iterator itr3 ;
for(int k=0; k <5; k++)
{
for(int j=0; j <5; j++)
{ vector<int> subgroup;
subgroup.push_back(k);
subgroup.push_back(j);
doublegroup.insert(subgroup);
}
}
CrtBestPartitionDouble.push_back(doublegroup);
for ( itr = CrtBestPartitionDouble.begin(); itr != CrtBestPartitionDouble.end(); ++itr ) {
// Iterate each set
for ( itr2 = itr->begin(); itr2 != itr->end(); ++itr2 ) {
// Iterate each subset
for ( itr3 = itr2->begin(); itr3 != itr2->end(); ++itr3 ) {
std::cout << *itr3;
}
}
}
它给我以下错误:
ST.cpp: In function ‘void StateTableGenerator()’:
ST.cpp:460:39: error: no match for ‘operator=’ in ‘itr3 = itr2.
您可以使用此代码在所有值上迭代,我不确定这是否是您想要的
typedef vector<set<set<int> > > CrtBestPartitionDoubleType;
CrtBestPartitionDoubleType CrtBestPartitionDouble;
// Iterate each vector element
for ( CrtBestPartitionDoubleType::iterator itr = CrtBestPartitionDouble.begin(); itr != CrtBestPartitionDouble.end(); ++itr ) {
// Iterate each set
for ( set<set<int> >::iterator itr2 = itr->begin(); itr2 != itr->end(); ++itr2 ) {
// Iterate each subset
for ( set<int>::iterator itr3 = itr2->begin(); itr3 != itr2->end(); ++itr3 ) {
std::cout << *itr3;
}
}
}
,范围为:
for(const auto& a: CrtBestPartitionDouble))
{
for(const auto& b: a)
{
for(const auto& c: b)
std::cout << c;
{
}
相关文章:
- 在 c++ 中拥有一组结构的正确方法是什么?
- 有哪些有效的方法可以消除一组 100 万个字符串>重复数据?
- 程序以使用 C++ 中的 while 循环查找一组数字的最小值
- 如何在向量数组中插入元素?
- 不同大小的向量数组的大小 cpp
- 很好的语法来获取对向量/数组数据的大小引用?
- C++向量和数组
- Push_back一组(异构)向量的实现
- 创建一组向量
- 从向量<T>创建一组字符串
- 检查向量中的一组值
- C :通过一组向量的向量进行迭代
- STL向量和地图在删除一组记录时应该更喜欢
- C++:为什么创建的向量没有传递到下一组 for 循环
- 如何用c++将一个向量数组放入一个一维数组中
- 将一组字符串分配给向量c++的内容
- C++是否有任何方法可以将一组派生类存储在基类的一个向量中,并仍然访问它们的成员
- 如何在 C++ 中从一组向量中删除重复的向量
- 实例化一个二维向量,其中一组对作为单元值
- 如何保持一组没有重复的向量