概念
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。
这三个组件都带有丰富的预定义函数,帮助我们通过简单的方式处理复杂的任务。
容器
c++中有两种类型的容器:顺序容器和关联容器。
顺序容器
主要有:vector、list、deque等。其中vector表示一段连续的内存地址,基于数组的实现,list表示非连续的内存,基于链表实现。deque与vector类似,但是对于首元素提供删除和插入的双向支持。
关联容器
主要有map和set。map是key-value形式的,set是单值。map和set只能存放唯一的key值,multimap和multiset可以存放多个相同的key值。
顺序容器
Vector主要操作
1.定义和初始化
vector< int > vec1; //默认初始化,vec1为空
vector< int > vec2(vec1); //使用vec1初始化vec2
vector< int > vec3(vec1.begin(),vec1.end());//使用vec1初始化vec2
vector< int > vec4(10); //10个值为0的元素
vector< int > vec5(10,4); //10个值为4的元素
2.常用操作方法
vec1.push_back(100); //尾部添加元素
int size = vec1.size(); //元素个数
bool isEmpty = vec1.empty(); //判断是否为空
co