本文目录
头文件
#include <vector>
初始化
// 定义空向量
vector<int> vtr;
//定义具有10个整型元素的向量
vector<int> vtr(10);
//定义具有10个整型元素的向量,且赋予每个元素初值为1
vector<int> vtr(10,1);
//定义与向量b具有相同值的向量a
vector<int> a(b);
//将向量b中下标0-2(共三个)的元素赋值给a
vector<int> a(b.begin(),b.gegin()+3);
//从数组中获得初值
int b[7] = {1,2,3,4,5,6,7}; //定义整形数组
vector<int> a(b, b+7); //将数组b赋值给a,第一个数据是起始地址,第二个数据是结束地址(不包括)
//二维数组初始化
vector<vector<int>> a;
内置函数
定义两个vector向量a,b
assign() 向量赋值
- 将长度a变为4且值为2:
a.assign(4,2)
- 将b的下标为0-2的元素赋值给向量a:
a.assign(b.begin(),b.begin()+3)
back()
- 返回a的最后一个元素
a.back()
front()
- 返回a的第一个元素
a.front()
clear()
- 清空a中的元素
a.clear()
empty()
- 判断a是否为空
a.empty()
push_back()
- 在a的最后插入一个元素num
a.push_back(num)
pop_back()
- 删除a的最后一个元素
a.pop_back()
erase()
- 删除a下标 index_1 到 index_2 中元素
a.erase(index_1,index_2)
insert()
- 在a向量第二个元素(下标从0开始)后插入 8
a.insert(a.begin()+2, 8);
- 在a向量的第二个元素(下标从0开始)后插入3个数,其值都为5
a.insert(a.begin()+1, 3, 8);
- b为数组,在a的第一个元素(从第0个元素算起)的位置插入b的第三个元素到第5个元素(不包括b+6)
a.insert(a.begin()+1, b+3, b+6);
size()
- 返回a中元素的个数
a.size()
capacity()
- 返回a中可容纳的元素个数
a.capacity()
resize()
- 调整a的现有元素为10个
a.resize(10)
- 调整a的现有元素为10个,其值为2
a.resize(10,2)
reserve()
- 扩充a的容量
a.reserve(length)
swap()
- 将a中的元素与b中的元素整体交换
a.swap(b)
常用函数
使用常用函数时许带有头文件 #include <algorithm>
sort()
- 对向量a进行从小到大排序
sort(a.begin(), a.end())
reverse()
- 对a中的元素从a.begin()(包括它)到a.end()(不包括它)的元素倒置,但不排列
reverse(a.begin(), a.end())
copy()
- 把a中的从a.begin()(包括它)到a.end()(不包括它)的元素复制到b中,从b.begin()+1的位置(包括它)开始复制,覆盖掉原有元素
copy(a.begin(), a.end(), b.begin()+1)
find()
- 在a中的从a.begin()(包括它)到a.end()(不包括它)的元素中查找4,若存在返回其在向量中的下标,不存在则返回end(),即向量最后一个元素下标加一
find(a.begin(), a.end(), 4)