作者学STL学的有点破防,但是STL大法好啊!于是激情开坑。
vector
简单来说就是没有固定大小的数组,可以随着元素的插入和删除进行改变大小。
1.初始化:
基本定义方式为:vector<数据类型名> s;//其中s为数组名
当然也可以使用 s(10)
(即十个元素)以及 s[105]
(即 105 个 vector \(s\)数组,类比二维数组。
2.重要操作:
s.back()
//返回最后一个元素
s.front()
//返回第一个元素
s[i]
//返回第 \(i\) 个元素
s.clear()
//清空
s.empty()
//判断是否为空
s.pop_back()
//删除最后一个元素
s.push_back()
//在最后一个元素后插入一个元素
s.size()
//返回元素个数
s.insert(a.begin()+1,5)
//在 a 的第一个元素(从 0 算起)的位置插入5
s.erase(s.begin()+1,a.begin()+3)
//删除 a 中第一个(从第 0 个算起)到第二个元素,包括开始,不包括结尾。
map
map作为一个关联容器,所存储的元素都是键值对(key-value),并且根据键自动排序,map不允许键重复。且map容器中的每一个元素都是一个 pair 结构的数据。
1.初始化
基本定义格式为:map<int,string> a;
,其中int为键类型,值类型为string。