c++ STL

STL 一般分为2种:

- 序列式容器(vector,list,deque,stack,queue,heap,stack,array(c++11)等 。。。)

- 关联式容器(每个元素都有Key和Value) 内部结构可能是红黑树,或者散列表

set/map

multiset/multimap

都是基于红黑树(red-black tree)实现

红黑树是许多平衡搜索树的一种,
(search,predecessor,successor,minimum,maximum,insert,delete等操作)平均时间复杂度为O(h). h为树的高度
最坏情况效率的 时间复杂度为 O(lg n)

所有的元素会自动排序,不允许有相同的键。


hash_set/hash_map (别名 unordered_set /unordered_map)

hash_multiset/hash_multimap(别名 unordered_multiset /unordered_multimap)

都含有hashtable,平均查找效率O(1)

不含自动排序,multiXX 允许键重复。

PS.
c++11为了避免和hash_map等第三方容器的名字产生冲突, 改名为 unordered_set /unordered_map, unordered_multiset /unordered_multimap


bitset hash unordered_set unordered_map

http://www.cplusplus.com/reference/bitset/bitset/

http://www.cplusplus.com/reference/bitset/bitset/bitset/
http://www.cplusplus.com/reference/bitset/bitset/set/
http://www.cplusplus.com/reference/bitset/bitset/operator%5B%5D/
http://www.cplusplus.com/reference/bitset/bitset/test/
http://www.cplusplus.com/reference/bitset/bitset/any/
http://www.cplusplus.com/reference/bitset/bitset/count/
http://www.cplusplus.com/reference/bitset/bitset/hash/

http://www.cplusplus.com/reference/unordered_set/
http://www.cplusplus.com/reference/unordered_map/
http://www.cplusplus.com/reference/functional/hash/

标准模板库(STL)使用入门(上)
标准模板库(STL)使用入门(下)

=============

thread c++11

http://en.cppreference.com/w/cpp/thread/thread

filesystem c++17

http://en.cppreference.com/w/cpp/filesystem

posted @ 2015-07-17 20:19  scott_h  阅读(254)  评论(0编辑  收藏  举报