STL的简单介绍
- C++中实现的数据结构中的很多容器和算法构成的C++库子集。
- STL是一个功能强大的基于模板的容器库。
- STL三大件:容器、算法、迭代器
STL容器
- 实现头文件
实现头文件 | 数据结构说明 |
---|---|
< vector > | 底层数据结构:数组,支持快速随机访问 |
< string > | 字符串处理容器 |
< deque > | 底层数据结构:一个中央控制器和多个缓冲区,支持守卫元素快速增删,随机访问 |
< list > | 底层数据结构:由结点组成的链表,支持快速随机访问 |
< stack > | 底层数据结构:list实现,后进先出 |
< queue > | 底层数据结构:list实现,先进先出队列 |
< set > | 底层数据结构:由结点组成的红黑树,支持的数据结构:集合(set)关键字有序但不重复,多重集合(multiset)关键字有序不可重复 |
< map > | 底层数据结构:红黑树,支持的数据结构:映射(map)关键字有序但不重复,多重映射(multimap)关键字有序可重复 |
常用容器
vector向量-变长数组
//vector的定义
//vector<typename> name;
STL算法
- 实现头文件:< algorithm >,< numeric >,< functional >
实现头文件 | 解释 |
---|---|
< algorithm > | 由一大堆模板函数组成 |
< numeric > | 几个简单数学运算的模板函数 |
< functional > | 模板类 |
STL迭代器
- 每个容器有自己的迭代器
- 算法通过迭代器来定位和操作容器中的元素
常用的迭代器运算:++,-,*