标准模板库
容器:
1、顺序容器
1⃣️vector(向量):可以随机访问任何一个元素(下标操作符系统默认重载)添加、删除元素在末尾
2⃣️Deque(队列):可以随机访问任何一个元素(下标操作符系统默认重载)添加删除元素在头部和尾部都可以进行
3⃣️List(链表):顺序访问(没有下标操作符重载),任意位置添加删除元素
vector:头部添加删除元素与元素个数成正比,尾部添加删除元素时间为常量
deque:头尾添加删除元素为常量
2、关联容器
set: key—value 存储形式,但是key value 映射在一起,不能存储相同元素
multiSet:可以存储相同的元素 // set内的元素默认从小到大排序
map:标准 key value ,其中key不能重复 //根据k的值开始排序
multiMap: 标准 key value ,其中key能重复
注意:如果在程序中使用容器,需要头文件包含 #include<vector> #include<set> #include<map>
共有常用函数:
构造、析构、拷贝=重载 等由系统全部完成
empty():用来判断容器是否为空
max_size():容器最大存储空间(跟计算机有关)
size(): 当前容器多少个元素
capcity() : 当前容器被分配了多少空间
erase():删除某一元素
clear():清空容器
iterator : 迭代器:遍历容器所有元素(类似指针用法,但不是真正的指针)
begin();第一个元素位置
end():最后一个位置的后一个位置
rbegin():最后一个元素
rend(): 第一个元素的前一个位置
// 迭代器遍历
vector<int>::iterator it=v.begin();
while (it!=v.end()) {
cout<<*it<<endl;
it++;
}
find() :查找某一个元素:如果找到返回iterator,如果找到就返回目标元素位置,如果没有就返回末尾位置后一个位置