迭代并打印我使用的单维向量的元素,
vector<int> a;
for(vector<int>::iterator it=a.begin();it<a.end();it++)
cout<<*it;
如何为二维矢量做同样的事情?
答案 0 :(得分:3)
或者因为我们正在使用c ++ 11 ...
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int> > v = {{1,2}, {3,4}};
for (const auto& inner : v) {
for (const auto& item : inner) {
cout << item << " ";
}
}
cout << endl;
return 0;
}
答案 1 :(得分:0)
如果用二维vector
表示vector<vector<int> >
,则应该有效:
vector<vector<int> > v = {{1,2}, {3,4}};
for(auto beg = v.begin(); beg != v.end(); ++beg)
{
for(auto ceg = beg->begin(); ceg != beg->end(); ++ceg) {
cout << *ceg << " ";
}
cout << endl;
}
输出:
1 2
3 4