STL之vector
STL之vector
只简单介绍一下基础用法,更深层用法自行百度
vector向量容器不但能像数组那样对元素进行随机访问,还能在尾部插入元素,是一种简单、高效的容器。
PS:vector具有内存自动管理功能,对于插入和删除的元素,可动态调整算占内存空间。
使用vector,需要头文件
#include<vector>
创建vector对象
(1)创建vector一维数组对象
vector<int> v;
vector<int> v(1,2);
(2)创建vector二维数组对象
vector<int> v[100];//定长
vector<vector<int> > v;//最后两个符号之间要有空格
vector中加入元素
(1)在尾部插入
v.push_back(2);
(2)在任意位置插入
v.insert(v.begin(), 3);//在最前面插入3
v.insert(v.begin() + 2, 3);//在第二个位置前面插入3
v.insert(v.end(), 3);//在最后添加3
(3)计算动态数组v的大小
v.size()
访问v中元素
下标访问法
//一维
v[1]、v[2]、v[3]······
//二维
v[0][0]、v[0][1]、v[0][2]····
v[1][0]、v[1][1]、v[1][2]····
v[2][0]、v[2][1]、v[2][2]····
迭代器访问法
vector<int>iterator it;
for(it = v.begin(); it != v.end(); it++){
cout<<*it<<" ";
}
vector中删除元素
v.erase(v.begin() + 2);//删除第二个元素,从0开始计数
v.erase(v.begin()+1, v.begin()+5);//删除区间(1, 5)之间的元素
翻转v中的元素
//reverse()包含在#include<algorithm>头文件中
reverse(v.begin(), v.end())
对v中元素排序
//sort()包含在#include<algorithm>头文件中
sort(v.begin(), v.end())