C++

C++ vector常用操作


avatar
GuoYulong 2024-06-20 185

头文件

#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个数,其值都为5a.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)

相关阅读

注意!!!

新增会员中心页面,方便管理个人账户,充值功能暂不开启,请勿为本网站进行任何充值活动!!!

通知!!!

① 过年好!!!拖更几个月了已经,年后继续更新!!