C++ STL 容器
·
1️⃣ 标准模板库(STL)
STL 全称 Standard Template Library(标准模板库),是 C++ 提供的一套通用工具集合,主要包括:
-
容器(Containers):用来存储数据的类模板,比如数组、链表、集合、映射等。
-
算法(Algorithms):对容器里的数据进行操作的函数,比如排序、查找、拷贝、删除等。
-
迭代器(Iterators):类似指针,用于遍历容器里的元素。
⚡ 简单比喻:
容器 = 盒子
算法 = 工具
迭代器 = 手指(用来指哪一格盒子)
2️⃣ 容器(Container)
容器就是 存放数据的对象。它们可以存储 多个元素,并提供一些操作接口,比如:
-
增加元素(push_back / insert)
-
删除元素(erase / pop)
-
访问元素(operator[] / at / front / back)
STL 的容器有很多类型,按用途可以分成三大类:
2.1 序列容器(Sequence Containers)
按顺序存储元素,可以像数组一样访问。
常用的有:
-
vector→ 动态数组,连续内存,随机访问快 -
deque→ 双端队列,两端插入快 -
list→ 双向链表,中间插入删除快 -
forward_list→ 单向链表 -
array→ 固定大小数组,内存连续
2.2 关联容器(Associative Containers)
自动按 key 排序,内部通常用 红黑树 实现:
-
set/multiset→ 存储唯一值 / 可重复值 -
map/multimap→ key-value 映射
2.3 无序关联容器(Unordered Containers)
用哈希表实现,无序,但查找、插入快:
-
unordered_set,unordered_map等
💡 总结:
-
STL = 容器 + 算法 + 迭代器
-
容器类型 = 用于存储数据的不同“盒子”
-
每种容器都有自己的特性(是否连续、插入删除快慢、是否排序等)
更多推荐



所有评论(0)