C++ 常用STL及用法 - 速查文档
C++ 常用STL及用法 - 速查文档
具体使用方法,先用现查即可!!!
相关文档推荐,
stirng
字符串
1 | size()/length() 返回字符串长度 |
vector
变长数组
倍增的思想
特点:系统为某一程序分配空间时,所需时间与空间大小无关,只与申请的次数有关。
1 | size() 返回元素个数 |
代码示例,
1 | std::vector<int> a(10, 3); // 数组初始化,指定元素个数及值 |
pair<int, int>
二元组
类似结构体
1 | first, 第一个元素 |
queue
, 队列
(没有清空函数)
1 | size() |
priority_queue
, 优先队列
默认是大根堆(用堆;来实现的)
1 |
|
stack
, 栈
(优先队列跟栈类似)
1 | size() |
deque
, 双端队列
(加强版的vector),但效率较低
头尾都可以插入或删除
1 | size() |
set, map, multiset, multimap
哈希表
基于平衡二叉树(红黑树实现),动态维护有序序列
1 | size() |
lower_bound()/upper_bound()
1 | lower_bound(x) 返回大于等于x的最小的数的迭代器 // 一般升序使用 |
map/multimap
1 | insert() 插入的数是一个pair,两个数 |
unordered_set, unordered_map, unordered_multiset, unordered_multimap
, 哈希表
好处:和上面类似,增删改查的时间复杂度是 O(1)
区别:不支持 lower_bound()/upper_bound() 的排序操作, 迭代器的++,–
bitset
, 圧位
(位存储,状态压缩),可以省存储空间(省8位空间,节省1/8存储)
1 | bitset<10000> s; |
参考资料
【视频:1.8 STL、位运算、常用库函数 - 49min左右】
【视频:第二章 数据结构(三)常用STL 1h10min左右】
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AriesfunのBlog!
评论