〇、通用方法
size() 返回容器的长度(元素个数)
empty() 返回容器是否为空
一、变长数组 vector
clear() 清空
front() / back() 返回第一个/最后一个元素
push_back() / pop_back() 往最后插入/d出一个元素
begin() / end() 返回迭代器,分别代表index=0(第零个数)和index=size(最后一个数的后一个数)的位置
erase()
二、pair
first 取第一个元素
second 取第二个元素
三、字符串 string
clear() 清空
substr() 获取子串,第一个参数:子串的起始位置,第二个参数:子串的长度
c_str() 返回对应字符数组的头指针(使用 printf("%s") 输出时使用)
四、队列 queue
push() 往队尾插入元素
front() / back() 返回队首/队尾元素
pop() 将队头元素d出
五、优先队列 / 堆 priority_queue
默认为大根堆
push() 插入元素
top() 返回堆顶元素
pop() 将堆顶元素d出
六、栈 stack
push() 往栈顶插入元素
top() 返回栈顶元素
pop() 将栈顶元素d出
七、双端队列 deque
clear() 清空
front() / back() 返回队首/队尾元素
push_back() / pop_back() 往队尾插入/d出一个元素
push_front() / pop_front() 往队首插入/d出一个元素
begin() / end() 返回迭代器
八、set multiset
基于平衡二叉树来实现(红黑树),动态维护一个有序序列
clear() 清空
insert() 插入一个元素
find() 查找一个数,返回其位置的迭代器,该数不存在时返回end()迭代器
count() 返回某一个数的个数
erase() 删除元素,输入是数字的情况,删除所有等于这个数字的节点(时间复杂度 k+logn),输入是迭代器的情况,删除迭代器位置的节点
lower_bound() 返回大于等于输入数的最小数的位置的迭代器,不存在时返回end()迭代器
upper_bound() 返回小于等于输入数的最大数的位置的迭代器,不存在时返回end()迭代器
九、map multimap
clear()
insert() (插入的是pair)
find()
erase()
十、unordered_set unordered_map unordered_multiset unordered_multimap
基于哈希表实现,速度更快,但内部无序
不支持 lower_bound() / upper_bound()
十一、bitset
定义:bitset
~ & | ^ << >> == !=
[] 获取某一位上的值
count() 返回1的个数
any() 是否至少有一个1
none() 是否全为0
set() 将所有位置置成1
set(k,v) 将第k位置成v
reset() 将所有位置置成0
flip() 取反~
flip(k) 将第k位取反
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)