向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。

特点:
1.顺序
2.动态
3.内存分配器

基本方法

1.push_back 在数组的最后添加一个数据
2.pop_back 去掉数组的最后一个数据
3.at 得到编号位置的数据
4.begin 得到数组头的指针
5.end 得到数组的最后一个单元+1的指针
6.front 得到数组头的引用
7.back 得到数组的最后一个单元的引用
8.max_size 得到vector最大可以是多大
9.capacity 当前vector分配的大小
10.size 当前使用数据的大小
11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve 改变当前vecotr所分配空间的大小
13.erase 删除指针指向的数据项
14.clear 清空当前的vector
15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty 判断vector是否为空
18.swap 与另一个vector交换数据

创建

vector<int> vec; //创建空的vec
vector<类型> name(int,value); //创建int个value的vec
vector<int> vec2(vec) 等价 vector<int> vec2=vec; //vec2初始化为vec的拷贝,类型必须相同
*
vector<char> vec0(begin(list),end(list)); //利用数组初始化

操作

1.push_back()/pop_back()
往vector末尾添加/删除元素.
示例:
image.png
结果:
image.png

2.排序
可以用algorithm库#include<algorithm>
sort(begin(vec),end(vec)); //从小到大