STL - 容器 - 易忘点整理

本文主要整理了STL容器中的易忘知识点,涵盖了容器的底层实现细节,帮助读者深入理解STL容器的工作原理和常见陷阱。

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

STL - 容器 - 易忘点整理

容器易忘点备注
list1.获取首位元素的引用:front()和back()
2.assign()代替原来list中的内容
3.push、pop操作:push_back()、push_front()、pop_back()、pop_front()
4.增删操作:insert()、erase()
没有下标操作
deque同list允许下标操作
stack常用操作:push、pop、top
queue常用操作:push、pop、back、front
set常用操作:insert、erase
set通过特定顺序(递增或递减)来保存数据,数据不可重复
multiset同setmultiset通过特定顺序(递增或递减)来保存数据,数据可重复
map基础操作同set,不过多了一个下标取值,index为键,返回值键key唯一
multimap基础操作同set,没有了下标取值键key不唯一

STL - 容器 - 底层实现

容器底层实现备份
vector底层数据结构为数组 ,支持快速随机访问如果需要高效的随机存取,而不在乎插入和删除的效率,使用vector
list底层数据结构为双向链表,支持快速增删如果需要大量的插入和删除,而不关心随即存取,则应使用list
deque底层数据结构为一个中央控制器和多个缓冲区(类似list和vector的结合体),支持首尾(中间不能)快速增删,也支持随机访问如果需要随机存取,而且关心两端数据的插入和删除,则应使用deque
stack底层一般用list或deque实现不用vector的原因应该是容量大小有限制,扩容耗时
queue底层一般用list或deque实现不用vector的原因应该是容量大小有限制,扩容耗时
set底层数据结构为红黑树,有序,不重复
multiset底层数据结构为红黑树,有序,可重复
map底层数据结构为红黑树,有序,不重复
multimap底层数据结构为红黑树,有序,可重复
hash_set底层数据结构为hash表,无序,不重复
hash_multiset底层数据结构为hash表,无序,可重复
hash_map底层数据结构为hash表,无序,不重复
hash_multimap底层数据结构为hash表,无序,可重复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值