STL总结

STL

  • vector 头文件<vector>
  1. 初始化,定义,定义长度,定义长度并且赋值,从数组中获取数据
  2. 返回元素个数size()
  3. 判断是否为空empty()
  4. 返回第一个元素front()
  5. 返回最后一个数back()
  6. 删除最后一个数pop_back()
  7. 插入push_back(x)
  8. 清空clear()
  9. begin()
  10. end()
  11. 使用size()遍历
  12. 使用begin()和end()遍历
  13. 使用auto遍历
  • pair 头文件<utility>
  1. 初始化,pair<int,int>,make_pair(1,1)
  2. 第一个元素first,第二个元素second
  3. 嵌套
  4. 排序
  • queue 头文件<queue>
  1. 初始化
  2. 长度size()
  3. 是否为空empty()
  4. 队尾插入push()
  5. 删除队头pop()
  6. 返回对头front()
  7. 返回队尾back()
  8. 清空,初始化
  • priority_queue 头文件<queue>
  1. 初始化,默认大根堆
  2. 长度size()
  3. 是否为空empty()
  4. 队尾插入push()
  5. 删除队头pop()
  6. 返回堆顶poo()
  7. 清空,初始化
  • deque 头文件<deque>
  1. 初始化
  2. 长度size()
  3. 是否为空empty()
  4. 返回第一个元素front()
  5. 返回最后一个数back()
  6. 删除最后一个数pop_back()
  7. 插入push_back(x)
  8. 队首插入一个元素push_front()
  9. begin()
  10. end()
  • set 头文件<set>
  1. 初始化
  2. 返回元素个数size()
  3. 是否为空empty()
  4. 清空clear()
  5. 第几个数begin()
  6. 最后一个的后一个end()
  7. 插入insert()
  8. 查找find()
  9. 删除erase(x)
  10. 返回大于等于x的最小的的迭代器lower_bound(x)
  11. 返回大于x的最小的数的迭代器upper_bound(x)
  • map 头文件<map>
  1. 初始化
  2. 插入insert()
  3. 删除erase()
  4. 查找find()
  5. 返回大于等于x的最小的的迭代器lower_bound(x)
  6. 返回大于x的最小的数的迭代器upper_bound(x)
  • unordered
  1. unordered_set
  2. unordered_map
  3. unordered_muliset
  4. unordered_multimap
  • algorithm 头文件<algorithm>
  1. 排序sort()
  2. 最值max、min
  3. 最大公约数__gcd
  4. 交换swap(a,b)
  5. 二分查找lower_bound()、upper_bound()
  6. 倒置reverse()
  7. 全排列next_permutation()
相关推荐
烧酒同学4 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染
@呱呱爱学习7 小时前
C++大成之路_ STL容器_ Vector
开发语言·c++
码匠许师傅7 小时前
【C++ 面试真题】19. 聊聊 C++ 的迭代器
开发语言·c++·面试
qeen877 小时前
【数据结构】红黑树的算法原理解析与实现
开发语言·数据结构·c++·算法·红黑树
码匠许师傅8 小时前
【C++ 面试真题】20. 聊聊 C++ 的标准库常用算法
c++·算法·面试
白色冰激凌9 小时前
[SECS/GEM研究] (六)SML与数据序列化
c++·secs/gem
_小柏_9 小时前
总结下最近面试出现的问题
c++·面试
我是慎独9 小时前
VulkanSceneGraph学习教程(十一)
c++·学习
stolentime10 小时前
AT_agc066_a [AGC066A] Adjacent Difference题解
c++·算法·贪心算法·构造
程序猿编码10 小时前
不用PyTorch,我用C++手写了一个能认手写数字的神经网络
c++·pytorch·神经网络·大模型