STL容器总结

本文深入解析了STL中各种容器的特点与应用场景,包括序列容器如array、vector、deque、list、forward_list;关联容器如set、map、multiset、multimap、unordered_set、unordered_map、unordered_multiset、unordered_multimap;以及容器适配器如stack、queue、priority_queue。详细对比了不同容器的迭代器类型、优缺点和底层实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STL序列容器总结

序列容器数据结构迭代器类型优缺点头文件
array固定数组随机访问迭代器快速访问、在中间插入、删除元素效率较低,无法扩容array
vector动态数组随机访问迭代器快速访问、在中间插入、删除元素效率较低,容量可以动态增加vector
deque双端队列随机访问迭代器快速随机访问、两端插入、删除元素效率较高deque
list双端队列双向迭代器不支持随机访问、可双向遍历、任意位置插入、删除元素效率高list
forward_list单向链表前向迭代器不支持随机访问、单向遍历、删除元素效率高forward_list

STL容器适配器总结

容器适配器数据结构底层应用迭代器特点头文件
stack默认deque,也可以用vector或list不支持先进后出FILOstack
queue队列默认deque,也可以用list不支持先见先出FIFOqueue
priority_queue优先队列底层默认使用vector,也可以使用heap处理规则来排序。容器也可以使用deque不支持优先级最高(或最低)的元素先出queue

STL关联容器总结

关联容器数据结构底层实现迭代器优缺点头文件
set集合RBTree双向迭代器Key唯一、有序set
map映射RBTree双向迭代器Key唯一、有序、value可以重复map
multiset多重集合RBTree双向迭代器Key可重复、有序set
multimap多重映射RBTree双向迭代器Key可重复、有序、value可以重复map
unordered_set无序集合hash_table双向迭代器Key唯一、无序unordered_set
unordered_map无序映射hash_table双向迭代器Key唯一、无序、value可以重复unordered_map
unordered_multiset无序多重集合hash_table双向迭代器Key可重复、无序unordered_set
unordered_multimap无序多重映射hash_table双向迭代器Key、无序、value可以重复unordered_map
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值