vector
包含头文件:
#include <vector>
初始化vector:
int n = 3, i = 4;
vector<int> vec; //初始化为空
vector<int> vec2(vec); //用另一个vector来初始化,即构造一个副本
vector<int> vec3(n, i); //大小为n,并全部初始化为元素i (常用)
vector<int> vec4(n); //构造大小为n的容器,没有初始化里面的元素
vector<int> vec5{1, 2, 3, 4}; //构造大小为4,并初始化里面的各个元素
增
向vector添加元素:
int temp=6;
vec.push_back(temp);//尾插
删
查
获取vector里的元素个数:
int len = vec.size();
查询vector第一个和最后一个数据:
int front=vec5.front();
int back =vec5.back() ;
//和迭代器遍历不一样,这里返回数字,迭代器返回是个指针
改
vector的下标操作,改变或者获取已有的元素的值
其他函数
vec.empty(); //判断是否为空,为空返回true,否则返回false;
vec.capacity(); //获取容器分配的存储空间,区别于vec,size()
vec.resize(n+m); //调整vec的大小变为n+m
vec.swap(vec2);//vec和vec2类型要相同,大小可以不同,直接交换容器内容,所有的迭代器,引用以及指针在交换后依旧有效,全都交换了一遍。
常用操作函数
排序,反转,交换元素。
#include<algorithm>
sort(vec.begin(),vec.end());//对元素排序
reverse(vec.begin(), vec.end());//反转容器
swap(vec[i],vec[j]);//交换元素