vector
- 首先需要添加头文件
#include<vector>
using namespace std;
- 定义vector的方法 vector<typename>name; 例子为:
vector<int>name;
vector<double>name;
vector<char>name;
vector<node>name;
如果typename里面是vector 就为
vector<vector<int> > name;//注意后面的>>要记得分开,否则系统会识别为移位操作
- 定义vector数组
vector<typename>Arrayname[arraysize];
例如 vector<int>vi[100];
- vector容器内元素的访问
首先由两种访问手段,一种是通过下标访问,利用名字和数组一样进行访问即可,这里不赘述,另一种是通过迭代器访问,迭代器在书中形容说是类似于指针的东西,暂且这样理解即可,访问元素也和指针一样,*it即可访问元素的值,vi[i] 与 *(vi.begin() + i)是等价的,具体定义如下:
vector<typename>::iterator it;
实例:
vector<int>::iterator it;
vector<double>::iterator it;
-
vector常用函数
第一个:push_back()
定义:直接在vector后面添加一个元素x,如vi.push_back(x);第二个:pop_back()
定义:删除vector的尾元素,如vi.pop_back();第三个:size()
定义:用于获取vector中元素的个数,如vi.size();第四个:clear()
定义:用于清空vector中的所有元素,如vi.clear();第五个:insert()
定义:insert(it,x)用来想vector的任意迭代器it处插入一个元素x第六个:erase()
定义:既可以删除一个元素,也可以删除一个区间内的元素,要注意如果是区间删除是左闭右开[first,last),如
vi.erase(vi.begin()+1,vi.begin()+5),若只删除一个,里面只有一个迭代器即可