STL容器 成员函数 时间复杂度表
|
Sequence containers |
Associative containers |
|
||||||||
|
Headers |
<vector> |
<deque> |
<list> |
<set> |
|
<bitset> |
||||
|
Members |
complex |
vector |
deque |
list |
set |
multiset |
map |
multimap |
bitset |
|
|
constructor |
* |
constructor |
constructor |
constructor |
constructor |
constructor |
constructor |
constructor |
constructor |
|
|
destructor |
O(n) |
destructor |
destructor |
destructor |
destructor |
destructor |
destructor |
destructor |
||
|
operator= |
O(n) |
operator= |
operator= |
operator= |
operator= |
operator= |
operator= |
operator= |
operators |
|
|
iterators |
begin |
O(1) |
begin |
begin |
begin |
begin |
begin |
begin |
begin |
|
|
end |
O(1) |
end |
end |
end |
end |
end |
end |
end |
||
|
rbegin |
O(1) |
rbegin |
rbegin |
rbegin |
rbegin |
rbegin |
rbegin |
rbegin |
||
|
rend |
O(1) |
rend |
rend |
rend |
rend |
rend |
rend |
rend |
||
|
capacity |
size |
* |
size |
size |
size |
size |
size |
size |
size |
size |
|
max_size |
* |
max_size |
max_size |
max_size |
max_size |
max_size |
max_size |
max_size |
||
|
empty |
O(1) |
empty |
empty |
empty |
empty |
empty |
empty |
empty |
||
|
resize |
O(n) |
resize |
resize |
resize |
||||||
|
element access |
front |
O(1) |
front |
front |
front |
|||||
|
back |
O(1) |
back |
back |
back |
||||||
|
operator[] |
* |
operator[] |
operator[] |
operator[] |
operator[] |
|||||
|
at |
O(1) |
at |
at |
|||||||
|
modifiers |
assign |
O(n) |
assign |
assign |
assign |
|||||
|
insert |
* |
insert |
insert |
insert |
insert |
insert |
insert |
insert |
||
|
erase |
* |
erase |
erase |
erase |
erase |
erase |
erase |
erase |
||
|
swap |
O(1) |
swap |
swap |
swap |
swap |
swap |
swap |
swap |
||
|
clear |
O(n) |
clear |
clear |
clear |
clear |
clear |
clear |
clear |
||
|
push_front |
O(1) |
push_front |
push_front |
|||||||
|
pop_front |
O(1) |
pop_front |
pop_front |
|||||||
|
push_back |
O(1) |
push_back |
push_back |
push_back |
||||||
|
pop_back |
O(1) |
pop_back |
pop_back |
pop_back |
||||||
|
observers |
key_comp |
O(1) |
key_comp |
key_comp |
key_comp |
key_comp |
||||
|
value_comp |
O(1) |
value_comp |
value_comp |
value_comp |
value_comp |
|||||
|
operations |
find |
O(log n) |
find |
find |
find |
find |
||||
|
count |
O(log n) |
count |
count |
count |
count |
count |
||||
|
lower_bound |
O(log n) |
lower_bound |
lower_bound |
lower_bound |
lower_bound |
|||||
|
upper_bound |
O(log n) |
upper_bound |
upper_bound |
upper_bound |
upper_bound |
|||||
|
equal_range |
O(log n) |
equal_range |
equal_range |
equal_range |
equal_range |
|||||
|
unique members |
capacity |
splice |
set |
|||||||
STL容器 成员函数 时间复杂度表的更多相关文章
- STL区间成员函数及区间算法总结
STL区间成员函数及区间算法总结 在这里总结下可替代循环的区间成员函数和区间算法: 相比单元素遍历操作,使用区间成员函数的优势在于: 1)更少的函数调用 2)更少的元素移动 3)更少的内存分配 在区间 ...
- c++ STL stack容器成员函数
这是后进先出的栈,成员函数比较简单,因为只能操作栈顶的元素.不提供清除什么的函数. 函数 描述 bool s.empty() 栈是否为空(即size=0).若空,返回true,否则,false. vo ...
- STL进阶--成员函数 vs 算法
容器的成员函数 vs 算法 容器中同名的函数 List: void remove(const T); template<class Comp> void remove_if(Comp); ...
- 如何优雅的传递 stl 容器作为函数参数来实现元素插入和遍历?
问题背景 开始正文之前,做一些背景铺垫,方便读者了解我的工程需求.我的项目是一个客户端消息分发中心,在连接上消息后台后,后台会不定时的给我推送一些消息,我再将它们转发给本机的其它桌面产品去做显示.后台 ...
- c++ STL map容器成员函数
map容器用于查找,设置键值和元素值,输入键值,就能得到元素值.map对象中的元素时刻都是有序的,除非无序插入的.它是用平衡树创建的.查找很快. 函数 描述,注意有r的地方都是不能用it代替的. ma ...
- c++ STL deque容器成员函数
deque是双向队列,即可以在头部插入删除,也可以在尾部插入删除.内部并不连续,这一点和vector并不一样.可能第1个元素和第2个元素的地址是不连在一起的.在使用时用it迭代器会安全一点. 这是c+ ...
- c++ STL list容器成员函数
list是一个双链表. 函数 描述 void l.assign (int n, const val) void l.assign (it first, it last) 将链表l初始化为n个相同的va ...
- STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map
list vector deque stack queue priority_queue set [unordered_set] map [unordered_map] multimap [uno ...
- STL容器 erase的使用陷井
http://www.cppblog.com/beautykingdom/archive/2008/07/09/55760.aspx?opt=admin 在STL(标准模板库)中经常会碰到要删除容器中 ...
随机推荐
- 每次选中数组中的N条数据, 如果让每条数据被选中的次数做到平均??
经常有这样的需求, 有一组数据, 每次展示其中的1条或N条,希望每条数据展示量可以做到平均. 一开始想依次展示每条数据并做记录,整组数据全展示一遍之后清除记录, 然后一直循环下去. 实现的过程中又觉得 ...
- [转]Node.JS package.json 字段全解析
Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...
- 开发一个android项目后的总结
首先是自己在OneNote上面记录了一些流水: 个人感觉这一路开发下来,学到了一些知识,也碰到了许许多多的问题,也解决了一些问题.总体来看,有几点(个人观点,不支持任何讨论): 1.Java是很优秀的 ...
- EasyUI 在mvc中的引入与使用
使用步骤: 一.先引入: 1.easyui下载,可以去官方网站去下载最新版EasyUI官方下载地址:http://www.jeasyui.com/download/index.php 2.下载后解压, ...
- docker私有仓库的搭建
Docker搭建本地私有仓库的详细步骤 Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库.使用私有仓库有许多优点:一.节省网络带宽,针对于每个镜像,不用每个人都 ...
- 百度AI图片识别
官方文档:http://ai.baidu.com/tech/ocr/general
- Spark Streaming 官网上提到的几点调优
总的来说,需要考虑以下两点: 1. 有效地运用集群资源去减少每个批次处理的时间 2. 正确的设置batch size,以使得处理速度能跟上接收速度 一. 为了减少处理时间,主要有以下几个优化点: 1 ...
- uva12545 比特变换器(贪心)
uva12545 比特变换器(贪心) 输入两个等长的串S,T(长度小于100),其中S包含字符0,1,?,T中包含0和1.有三种操作:将S中的0变为1,?变为0或1,交换S中的任意两个字符.求将S变成 ...
- NAT模式下设置 虚拟机linux(Centos7) 联网
第一步 设置虚拟机网络为NAT模式 第二步 设置虚拟机网络配置 首先执行 cd /etc/sysconfig/network-scripts 之后VI 编辑 ifcfg-ens33(根据实际情况来 基 ...
- Collection、泛型
Collection.泛型 Collection.泛型 Collection.泛型 Collection.泛型 Collection.泛型 Collection.泛型 Collection.泛型