发现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; }