STL标准模板库封装了常用的数据结构和算法,让程序员无需太关心真实的数据结构实现。
容器
容器:用来存放数据的。
STL容器就是将运用最广泛的的一些数据结构实现出来。
常用的数据结构有:数组、链表、树、栈、队列、集合、映射表。
这些容器分为两类:序列式容器、关联式容器。
1、序列式容器:强调值的排序,序列式容器中的每个元素都有固定的位置。
2、关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系。
算法
算法:用有限的步骤解决问题。
算法分为:1、质变算法;2、非质变算法
质变算法:是指运算过程中会更改原本的元素内容,例如:拷贝、替换、删除。
非质变算法:是指运算过程中不会改变原本的元素内容,例如:查找、计数、遍历、寻找极值。
迭代器
迭代器:是容器和算法的桥梁。提供一种方法:能够遍历某个容器的各个元素,而又不用暴露该容器的内部表达方式。
每个容器都有专属的迭代器。
迭代器的使用非常类似于指针,因此可以将迭代器理解成指针。
常用的容器中迭代器种类为双向迭代器,随机访问迭代器。