STL组件
(1)容器:
用来管理某类对象的集合。每类对象都有其优缺点。
(2)迭代器:
用来在一个对象集合中遍历元素。这个对象或许是个容器集合,或许是个集合,或者是容器的一部分。
(3)算法:
用来处理集合内的元素。出于不同得目的而查找、排序、修改、使用元素。
STL的一个根本特性是 针对任何类型运作,是泛型编程的典范。
容器
容器用来管理一大群元素。
1.序列式容器:
这是一种有序的集合,其每个元素均有确凿的位置-取决于插入时机和地点,与元素值无关。 五个定义好的序列容器:
array,deque,list,forward_list;.
2.关联式容器:
这是一种已排好序集合,元素位置取决于其value,如果将六个元素置于这样的容器中,他们的值将决定他们的次序。
3.无序式容器:
这是一种无序集合,其内每个元素的位置都无紧要,唯一重要的是某特定元素是否在此集合内。元素值或其安插顺序,都不影响元素的位置,而且元素的位置可能在容器的生命周期内被改变。如果放六个元素到这种集合,他们的次序不明确,随时会随时间而改变。
无序容器:unordered_set,unordered_multiset,unordered_map,unordered_multimap.
实现
一般来讲,sequence容器实现为array,关联式容器实现为二叉树,无序容器实现为哈希表。