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