- vector向量容器可以像数组一样对元素进行随机访问,而且还能在尾部插入元素
- 向量容器使用动态数组存储、管理对象。完全可以代替数组。
- 在尾部添加速度很快,在中间插入慢。
使用
向量容器的类名是vector。包含在vector的头文件中“#include”
#include <vector>
using namespace std;
int main(){
vector<int> v1(10); //包含10个数,初始化为0
vector<int> v2(10,1); //全部初始化为1
}
下标方式访问
cout<<v1.front()<<" "<<v1[3]<<" "<<v1.at(10)<<" "<<v1.back();
//分别表示第一个,第4个,等11个,最后一个元素
用迭代器访问vector元素
vector<int>::iterator iterator;
for (iterator = v1.begin(); iterator < v1.end(); ++iterator) {
cout<<*iterator<<endl;
}
其它方法
cout<<v1.capacity()<<" " //返回不重新分配空间可以插入v1的元素的最大个数
<<v1.empty()<<" " //返回v1是否为空,空,true
<<v1.size()<<" " //返回v1的元素个数
<<v1.max_size(); //返回可以插入v1的最大元素个数
v1.swap(v2); //交换v1与v2
删除
vector<int>::iterator iterator;
v1.erase(v1.begin(),v1.end()-5);//位置为迭代器位置
for (iterator = v1.begin(); iterator < v1.end(); ++iterator) {
cout<<*iterator<<endl;
}
插入
vector<int>::iterator iterator;
v1.insert(v1.begin(),4);//插入到之前
for (iterator = v1.begin(); iterator < v1.end(); ++iterator) {
cout<<*iterator<<endl;
}