在C ++中显示向量矩阵的所有值

时间:2011-11-02 09:21:47

标签: c++ stl vector

我有一个vector< vector< pair<int,int> > >,我想要打印它的所有值 我尝试用2个迭代器做这个,但在第二个迭代器上失败了:

vector< vector< pair<int, int> > > list;
vector< vector< pair<int, int> > >::iterator it1;
vector< pair<int, int> >::iterator it2;

for( it1=list.begin(); it1<list.end(); ++it1 ){
  for( it2=it1.begin(); it2<it1.end(); ++it2 ){
    printf("%d, %d", *it2.first, *it2.second);
  }
}

关于如何遍历第二个向量的任何想法? 感谢

2 个答案:

答案 0 :(得分:0)

也许你的意思是这样的:

for( it1=list.begin(); it1 != list.end(); ++it1 )
{
  for( it2=it1->begin(); it2 != it1->end(); ++it2 )
  {
    printf("%d, %d", (*it2).first, (*it2).second);
  }
}

答案 1 :(得分:0)

for (it1 = list.begin(); it1 != list.end(); ++it1) {
    vector< pair<int, int> >& v = *it1;      
    for (it2 = v.begin(); it2 != v.end(); ++it2) {
        printf("%d, %d", (*it2).first, (*it2).second);
    }
}