C++系列二:STL教程-容器
前言
……。
容器
//容器种类 功能
1. 序列容器 主要包括 vector 、list 、deque。
元素在容器中的位置同元素的值无关,即容器不是排序的。将元素插入容器时,指定在什么位置,元素就会位于什么位置。
2. 排序容器 包括 set 、multiset、map 、multimap。
排序容器中的元素默认是由小到大排序好的,即便是插入元素,元素也会插入到适当位置。所以关联容器在查找时具有非常好的性能。
3. 哈希容器 hash_set、hash_multiset、hash_map、hash_multimap。(unordered_set,unordered_multiset,unordered_map, unordered_multimap)
和排序容器不同,哈希容器中的元素是未排序的,元素的位置由哈希函数确定。
//容器、底层数据结构、特点
//vector(向量) 数组 支持快速随机访问
//list(列表) 双向链表 支持快速增删
//deque(双队列) 一个中央控制器和多个缓冲区 支持首尾(中间不能)快速增删,也支持随机访问
//stack(栈) list 和 deque 实现,封闭头部即可,不用 vector 的原因应该是容量大小有限制 扩容耗时
//queue(队列) 同上
//priority_queue(优先队列) vector 为底层容器 堆 heap 为处理规则来管理底层容器实现
//set(集合) 红黑树 有序,不重复
//multiset(多重集合) 红黑树 有序,不重复
//map(映射) 红黑树 有序,不重复
//multimap(多重映射) 红黑树 有序,不重复
//hash_set(hash集合) hash 表 无序,不重复
//hash_multiset(hash多重集合)) hash 表 无序,不重复
//hash_map(hash映射) hash 表 无序,不重复
//hash_multimap(hash多重映射) hash 表 无序,不重复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)