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

display all values of a vector matrix in C++

本文关键字:c++ 显示 向量      更新时间:2023-10-16

我有一个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);
  }
}

对于如何遍历第二个向量有什么想法吗?由于

也许你的意思是:

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