stl 容器选择 时间效率比较

转自: http://blog.chinaunix.net/uid-10780339-id-3306853.html?utm_source=jiancool


一.主角介绍 Container class templates Sequence containers:vectorVector (class template )dequeDouble ended queue (class template )listList (class template ) 
Container adaptors:stackLIFO stack (class template )queueFIFO queue (class template )priority_queuePriority queue (class template ) 
Associative containers:setSet (class template )multisetMultiple-key set (class template)mapMap (class template )multimapMultiple-key map (class template )bitsetBitset (class template) 二.比较表格

Member map

This is a comparison chart with the different member functions present on each of the different containers:  

  Sequence containers Associative containers  
Headers
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  
reserve
  splice  
remove  
remove_if  
unique  
merge  
sort  
reverse
        set  
reset  
flip  
to_ulong  
to_string  
test  
any  
none

Amortized complexity shown. Legend: O(1) constant < O(log n) logarithmic < O(n) linear; *=depends on container


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值