前序:STL 主要由内存配置器、容器、迭代器、算法、仿函数、适配器六部分组成。
1、容器:可以分为序列式容器和关联式容器两大类。序列式容器主要有 vector、list 和 deque;关联式容器包括 set、map、multiset 和 multimap 等容器模板类。
常见容器:string 、vector 、list 、set 、map。STL 中已经提供的容器主要如下:
vector <T>:一种向量。
list <T>:一个双向链表容器,完成了标准 C++ 数据结构中链表的所有功能。
queue <T>:一种队列容器,完成了标准 C++ 数据结构中队列的所有功能。
stack <T>:一种栈容器,完成了标准 C++ 数据结构中栈的所有功能。
deque <T>:双端队列容器,完成了标准 C++ 数据结构中栈的所有功能。
priority_queue <T>:一种按值排序的队列容器。
set <T>:一种集合容器。
multiset <T>:一种允许出现重复元素的集合容器。
map <key, val>:一种关联数组容器。
multimap <key, val>:一种允许出现重复 key 值的关联数组容器。
2、算法:包含头文件 <algorithm> ,常见算法如下:
for_each();
find();
find_if();
count();
count_if();
replace();
replace_if();
copy();
unique_copy();
sort();
equal_range();
merge();
3、迭代器:迭代器技术能够使程序非常快捷地实现对 STL 容器中内容的反复访问。
五种类型的迭代器: