STL补档
1.vector
作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。
它会动态申请空间,每新进来一个元素,就申请一个。申请着申请着你就MLE了(开玩笑的)。
#include<vector>
usingnamespacestd;
vector<int>vec;
vec.push_back(a);
cout<<vec[0]<<endl;
vector<int>::iteratorit;//使用迭代器访问元素.
for(it=vec.begin();it!=vec.end();it++)cout<<*it<<endl;
vec.insert(vec.begin()+i,a);//在第i+1个元素前面插入a
vec.erase(vec.begin()+2);//删除第3个元素
部分参考https://www.cnblogs.com/msymm/p/9006022.html感谢!!
2.deque
容器属性
序列|动态数组|Allocator-aware
序列容器的元素按严格线性排列,可按顺序访问它们的位置;
动态数组允许直接访问其任何元素,可快速在序列首尾相对快速进行元素添加/删除;
容器通过allocator对象动态处理存储需求
除了写起来方便之外,时间复杂度很垃圾。。。
迭代器相关函数:
(publicmemberfunction)
begin
将迭代器返回到开头(增长方向:begin->end)
end
将迭代器返回到结尾
rbegin
返回反向迭代器以反向开始(增长方向:rbegin->rend)
rend
将反向迭代器返回到反向结束
cbegin(C++11)
将const_iterator返回到开头(与begin类似,区别在于begin指向的值可以改变,cbegin指向的值不可改变)
cend(C++11)
将const_iterator返回到开头末尾
crbegin(C++11)
返回const_reverse_iterator以反向开始
crend(C++11)
将const_reverse_iterator返回到反向结束
如果您觉得本文的内容对您的学习有所帮助:
关键字:
html