发现C++真是无边无界,自己只能尽力而为
最近为了写个计算几何作业,要写个数据结构,用到了vector动态存储,这才大概研究了一下。
平时最简单的一维vector初始化:vector<int> col
那么能不能初始化一个vector,内部是数组呢?
答案必须可以,看一下vector的本质定义:vector<Template>variable
那么实际上,将Template换为我们需要的数据单元就可以了。
Template替换为vector<int>,那么就是我们的二维vector数组的初始化了。
同样的,iterator<Template>variable也是如此,上一段非常简单的代码,大家就明白了。
<pre name="code" class="cpp">#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> col;
vector<vector<int>>array;
for (int i=0;i<3;i++)
{
col.push_back(i);
col.push_back(i);
array.push_back(col);
col.erase(col.begin(),col.end());
}
vector<vector<int>>::iterator IE;
vector<int>::iterator it;
for(IE=array.begin();IE<array.end();IE++)
{
for (it=(*IE).begin();it<(*IE).end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
return 0;
}