由于经常在做题中遇到,所以记录下:
#include<vector>//包含头文件
建立Vector
vector<int> test;//建立一个vector
1、获取vector里的元素个数
int len = vec.size();
2、向vector添加元素
int temp;
vec.push_back(temp);//尾插
//vector<int>vec 第一个数是 vec.front(); 最后一个数是vec.back();这里和迭代器遍历不一样,这里返回数字,那里是个指针
3、初始化vector,有五种方式
vector<int>vec; //初始化为空
vector<int>vec(v1); //用另一个vector来初始化,即构造一个副本
vector<int>vec(n, i); //大小为n,并全部初始化为元素i (常用)
vector<int>(n); //构造大小为n的容器,没有初始化里面的元素
vector<int>{1,2,3,4}; //构造大小为4,并初始化里面的各个元素
4、使用迭代器遍历容器
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
vec[it]=0;
注意:关于vector的下标操作。vector的下标操作只能改变或者获取已有的元素的值,不能往vector里添加元素!
5、其他函数
vec.empty(); //判断是否为空,为空返回true,否则返回false;
vec.capacity(); //获取容器分配的存储空间,区别于vec,size()
vec.resize(n+m); //调整vec的大小变为n+m
6、vector经常用到的一些函数功能。需加头文件 #include<algorithm>
(1)对元素排序
sort(vec.begin(),vec.end());
(2)反转容器
reverse(vec.begin(), vec.end());
(3)交换元素
swap(vec[i],vec[j]);