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(标准模板库)中经常会碰到要删除容器中 ...
随机推荐
- 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)
[分析]浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang) 今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间 ...
- 如何使用visual studio 2017创建C语言项目
使用visual studio 2017创建一个C语言项目,步骤如下: (1)打开Visual Studio 2017环境后出现欢迎界面,如图1所示. 图1 Visual Studio 2017欢迎 ...
- python网络爬虫之requests库
Requests库是用Python编写的HTTP客户端.Requests库比urlopen更加方便.可以节约大量的中间处理过程,从而直接抓取网页数据.来看下具体的例子: def request_fun ...
- hdu1521(字典树模板)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1251 题意: 中文题诶~ 思路: 字典树模板 代码1: 动态内存, 比较好理解一点, 不过速度略慢, ...
- 洛谷P2607 [ZJOI2008]骑士
P2607 [ZJOI2008]骑士 题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一 ...
- linux的防火墙端口配置
健忘啊,记下来吧 Red Hat Linux系统 此类型系统包括red hat的各类衍生及相关不版本,包括RHEL.CentOS.Fedora等等. 防火墙配置文件: /etc/sysconfig/i ...
- EOS多节点同步代码分析
EOS version: 1.0.7 一. 配置文件的修改 EOS的节点同步流程是通过p2p来完成,在nodeos的配置文件config.ini中填写,其默认路径为~/.local/share/eos ...
- HDU2050 折线分割平面
题目:acm.hdu.edu.cn/showproblem.php?pid=2050 递推: 从直线入手,第n条直线,最多和平面上的直线有n-1个交点,多出(n-1)+1个部分 序号 1 2 3 .. ...
- centos6.6上安装beef
https://rvm.io/https://rvm.io/rvm/securityhttps://www.runoob.com/ruby/ruby-installation-unix.htmlhtt ...
- 简单的方法爬取b站dnf视频封面步骤解释
这随笔代码链接:http://www.cnblogs.com/yinghualuowu/p/8186375.html 首先我们要知道,一个分区封面显示到底在哪里可以找到. 很明显,查看审查元素并不能找 ...