Standard Template Library(STL)基本概念:
目的:为了建立数据结构和算法的一套标准
从广义上可分为:容器,算法,迭代器
细分为六大组件:容器,算法,迭代器,仿函数,适配器,空间配置器
1.容器:将应用最广泛的一些数据结构实现出来
常用的数据结构有:数组,链表,树,栈,队列,集合,映射表等
容器可分为序列式容器(序列式容器中的每个元素均有固定的位置)和关联式容器(二叉树结构,各元素之间没有严格的物理上的顺序关系)
2.算法(Algorithms)
定义:有限的步骤,解决逻辑或数学上的问题
分为:质变算法(指运算过程中会更改区间内的元素的内容。例如拷贝,替换,删除等等)和非质变算法(指运算过程中不会更改区间内的元素内容,例如查找、计数、遍历、寻找极值等等)
3.迭代器:容器和算法之间粘合剂
每个容器都有自己专属的迭代器;迭代器使用非常类似于指针,初学阶段我们可以先理解迭代器为指针
STL最常用的容器是vector(可将其理解为动态数组)
访问容器中数据的三种方式:
vector<int> v;//创建一个vector容器
v.push_back(10);//向容器中插入数据
v.push_back(101);
//第一种访问方式:通过迭代器
vector<int>::iterator itBegin = v.begin();//起始迭代器 指向容器中第一个元素
vector<int>::iterator itEnd = v.end