总结:C++ STL 容器
STL的叫法是“容器”,标准库里面容器不多,数组、链表、红黑树,实现都不负责thread safe、mutable之类,对比下Java的,选择很多,也挺混乱。。
序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list。
关联容器:set,map,multiset,multimap,bitset(叫bit_array更合适)。
容器适配器:stack,queue,priority_queue。
除了bitset,都用到模板,声明大概是这样的:
STL Standard Containers,点击加号展开!
STL Container Adaptors,点击加号展开!
C++是注重效率的,所以STL很强调一点就是amortized的性能,下面的表很不错,还可以用来速查:
Sequence containers
Associative containers
Headers
<vector>
<deque>
<list>
<set>
<map>
<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
fro
总结:C STL 容器 来自淘豆网www.taodocs.com转载请标明出处.