一、vector的基本用法
c++为开发着提供了标准模板库(STL),其中装了很多容器,容器可以理解为能实现功能的系统函数,如vector,stack,queue,map,set等。
vector,翻译过来意为向量,一般说为“变长数组”,在数据规模较大时,使用vector叫为方便,还可以节省空间。
使用vector时,需要先添加vector头文件,即#include<vector>,同时,还需“using namespace std”。
(1)vector的定义
定义vector方法如下:
vector<typename> v;
相当于定义了一个数组,只不过长度不确定,typename里可以是任意类型,int,float,double,char,结构体等,也可以套一个STL容器
(2)vector的访问
有两种方式可以访问:
1.通过下标访问
对容器vector<int> v,可以用v[index]访问,其中,0<=index<=v.size()-1,v.size()指vector中元素的个数。
2.通过迭代器访问
可以将迭代器(iterator)理解为一种类似指针的变量,其定义为:
vector<typename>::iterator it;
二、vector的常用函数
函数名 | 功能 |
---|---|
push_back(元素) | 添加一个元素到向量的后面,复杂度O(1) |
pop_back() | 删除向量的最后一个元素,复杂度O(1) |
insert(位置,元素) | 插入x到指定位置it(迭代器),复杂度O(n) |
erase(位置) | 删除向量指定位置的元素 |
clear() | 清除向量的所有元素,复杂度O(n) |
运算符[] | 取向量的第几个元素 |
front() | 取向量的第一个值 |
back() | 取向量的最后一个元素 |
begin() | 向量的第一个元素的位置,返回第一个元素迭代器 |
end() | 返回向量最后一个元素后面的位置(不是迭代器) |
size() | 返回元素个数(向量的大小) |
resize(大小) | 重新设置向量的大小 |
empty() | 判断向量是否为空 |