Chinaunix

标题: 关于c++ stl 容器 效率的比较 表格 [打印本页]

作者: titer1    时间: 2012-08-09 15:13
标题: 关于c++ stl 容器 效率的比较 表格
本帖最后由 titer1 于 2012-08-09 15:17 编辑

看到前面有个帖子在 问:是否知道stl里所有容器的各种操作效率和占用空间大小?
不懂,在google找到个表格,与大家共勉。

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

Sequence containersAssociative containers
Headers<vector><deque><list><set><map><bitset>
Memberscomplexvectordequelistsetmultisetmapmultimapbitset
constructor*constructorconstructorconstructorconstructorconstructorconstructorconstructorconstructor
destructorO(n)destructordestructordestructordestructordestructordestructordestructor
operator=O(n)[url=http://www.cplusplus.com/vector:perator=]operator=[/url][url=http://www.cplusplus.com/deque:perator=]operator=[/url][url=http://www.cplusplus.com/list:perator=]operator=[/url][url=http://www.cplusplus.com/set:perator=]operator=[/url][url=http://www.cplusplus.com/multiset:perator=]operator=[/url][url=http://www.cplusplus.com/map:perator=]operator=[/url][url=http://www.cplusplus.com/multimap:perator=]operator=[/url][url=http://www.cplusplus.com/bitset:perator]operators[/url]
iteratorsbeginO(1)beginbeginbeginbeginbeginbeginbegin
endO(1)endendendendendendend
rbeginO(1)rbeginrbeginrbeginrbeginrbeginrbeginrbegin
rendO(1)rendrendrendrendrendrendrend
capacitysize*sizesizesizesizesizesizesizesize
max_size*max_sizemax_sizemax_sizemax_sizemax_sizemax_sizemax_size
emptyO(1)emptyemptyemptyemptyemptyemptyempty
resizeO(n)resizeresizeresize
element accessfrontO(1)frontfrontfront
backO(1)backbackback
operator[]*[url=http://www.cplusplus.com/vector:perator[]]operator[][/url][url=http://www.cplusplus.com/deque:perator[]]operator[][/url][url=http://www.cplusplus.com/map::operator[]]operator[][/url][url=http://www.cplusplus.com/bitset::operator[]]operator[][/url]
atO(1)atat
modifiersassignO(n)assignassignassign
insert*insertinsertinsertinsertinsertinsertinsert
erase*eraseeraseeraseeraseeraseeraseerase
swapO(1)swapswapswapswapswapswapswap
clearO(n)clearclearclearclearclearclearclear
push_frontO(1)push_frontpush_front
pop_frontO(1)pop_frontpop_front
push_backO(1)push_backpush_backpush_back
pop_backO(1)pop_backpop_backpop_back
observerskey_compO(1)key_compkey_compkey_compkey_comp
value_compO(1)value_compvalue_compvalue_compvalue_comp
operationsfindO(log n)findfindfindfind
countO(log n)countcountcountcountcount
lower_boundO(log n)lower_boundlower_boundlower_boundlower_bound
upper_boundO(log n)upper_boundupper_boundupper_boundupper_bound
equal_rangeO(log n)equal_rangeequal_rangeequal_rangeequal_range
unique memberscapacity
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



来源:http://www.cplusplus.com/reference/stl/


作者: titer1    时间: 2012-08-09 15:19
不好意思,原来表格怎么 排版就是i 放不下。

要看文字的,请点连接

如果不方面,就看图片吧。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2