stl
Stl
Vector(变长数组,动态,倍增)
String \\字符串 substr() 返回某一个字符串, c_str() 返回对应字符数组的头指针 size() clear()
queue \\队列 push() 队尾插入 front() 返回队头元素 back() 返回队尾元素 pop() 队头弹出 size() 没有clear()
priority_quueu \\ 优先队列 堆默认大根堆 push() 向堆中插入 top() 返回堆顶元素 pop() 堆顶弹出 没有clear()
#include<queue>

stack \\ 栈 push() 插入 top() 返回栈顶元素 pop() 栈顶弹出 没有clear() empty() size()
deque \\双端队列 对头队尾都可以插入删除,加强版的vector
empty() size() 有clear()
front() 返回第一个元素 back() 返回最后一个元素
push_back() 向最后插入一个元素 pop_back() 弹出最后一个元素
push_front() 向对头插入一个元素 pop_front() 弹出第一个元素
支持随机循取 缺点就是速度慢 begin() end()
set map multiset multimap \\基于平衡二叉树(红黑树)动态维护有序序列
set 不能有重复元素
multiset 可以有重复元素
支持 insert()插入 empty() clear() size() find() 查找一个数
count() 返回一个数的个数
erase() 输入一个数,删除所以这个数 输入一个迭代器,删除这个 迭代器(看作一个指针)
lower_bound(x) 返回大于等于x的最小的数
upper_bound(x) 返回大于x的最小的数
map multimap
empty() size() 有clear()
begin() end() 支持++ -- find() 查找一个数
支持 insert()输入的参数是pair
erase()输入的参数是pair和迭代器
可以像数组一样用map O(logn) 初始化

lower_bound(x) upper_bound(x)
unordered_set unordered_map unordered_multiset unordered_multimap // 哈希表 和上面类似 好处增删改查O(l) 不支持++-- 排序
不支持 lower_bound(x) upper_bound(x)
bitset \\ 压位
vector
定义一个vector
- Vector<类型>标识符
- Vector<类型>标识符(最大容量)
- Vector<类型>标识符(最大容量,初始所有值)

Vector<int>::iterator = auto 自动推断类型

String
size();
empty();
clear();

第二个很大,直接输出到最后一个,或者省略第二个


浙公网安备 33010602011771号