STL中基本容器string、vector、list、deque、set、map之间的区别

412 篇文章 161 订阅 ¥69.90 ¥99.00
本文详细介绍了STL中的基本容器,包括string、vector、list、deque、set和map。string适用于动态字符串,vector擅长随机访问和尾部操作,list适合频繁插入删除,deque则在两端操作和随机访问间取得平衡。set和map为无序容器,基于树结构实现,用于存储唯一元素和键值对。
摘要由CSDN通过智能技术生成

在STL中基本容器有: string、vector、list、deque、set、map

set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问;

set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少;
map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了;

底层采用的是树型结构,多数使用平衡二叉树(RB-Tree)实现,查找某一值是常数时间,遍历起来效果也不错,只是每次插入值的时候,会重新构成底层的平衡二叉树,效率有一定影响。

string、vector、list、deque、set 是有序容器。

1、string

string 是basic_string<char> 的实现,在内存中是连续存放的。为了提高效率,都会有保留内存,如string s= "abcd",这时s使用的空间可能就是255,当string再次往s里面添加内容时不会再次分配内存.直到内容&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dvlinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值