STL——Vector模板类常见函数

由于经常在做题中遇到,所以记录下:

#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]);
 

猜你喜欢

转载自blog.csdn.net/weixin_42513339/article/details/88827339