直接上代码,完成目标
目标:实现容器嵌套容器,将所有数据遍历输出
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<numeric>
#include<vector>
#define ll long long
using namespace std;
void test()
{
vector<vector<int>>v;
//创建小容器
vector<int>v1;
vector<int>v2;
vector<int>v3;
vector<int>v4;
//向小容器中添加数据
for(int i=0;i<4;i++)
{
v1.push_back(i+1);
v2.push_back(i+2);
v3.push_back(i+3);
v4.push_back(i+4);
}
//把小容器插入到大容器中
v.push_back(v1);
v.push_back(v2);
v.push_back(v3);
v.push_back(v4);
//通过大容器,把所有数据遍历一遍
for(vector<vector<int>>::iterator it1=v.begin();it1!=v.end();it1++)
{
//*it指代容器vector<int>
for(vector<int>::iterator it2=(*it1).begin();it2!=(*it1).end();it2++)
cout<<*it2<<" ";
cout<<endl;
}
}
int main()
{
test();
return 0;
}
运行结果如下:
注意点:第一层的嵌套中的迭代器it1只是指代大容器中的某个元素的地址,*it1即为其中的小容器,小容器又得利用迭代器遍历 输出元素。