背景
在C++模板的时候,其中心思想是通过定义模板数据类型,实现自适应输入的数据类型(函数的传参,类的成员数据类型)。那么进一步提升,对模型数据结构和算法进行封装成一个标准的库,这样大家都可以调用。例如,vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列,set 的底层为红黑树,hash_set 的底层为哈希表。
组件
STL 有三大组件,实现数据管理,访问,操作:
容器 | 算法 | 迭代器 |
数据集合管理 | 对数据操作 | 遍历数据, |
示例
1 . 导入vector 标准模板
2. 定义一个vector 的数据变量
3.对向量赋值;
4.访问向量里的数据
#include<iostream>
#include <vector> //导入向量模板
using namespace std;
int main()
{
vector<int> vec;//定义一个向量
for (int i=0;i<5;i++ )
{
vec.push_back(i);//调用函数按照后插入的方式填充向量
}
for(vector<int>::iterator itr = vec.begin(); itr != vec.end(); itr++) //使用迭代器访问向量
{
cout << *itr << endl;
}
}