C++关联式容器

关联式容器如map、set、multimap和multiset是STL的一部分,它们基于红黑树实现,提供有序的键值对存储。与序列式容器(如vector、list)不同,关联式容器内部存储的是key-value模型,且在数据检索上具有更高的效率。map和set确保键的唯一性,而multimap和multiset允许键的重复。

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

关联式容器:内部存储的是key或者k-v模型的数据

        在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、
forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面
存储的是元素本身。那什么是关联式容器?它与序列式容器有什么区别?
        关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高。

键值对:用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息

k-v模型:键值对 

在STL中,键值对实际就是一个泛型的类

分类:从底层数据结构上      1.  红黑数结构     2.  哈希结构

树型结构的关联式容器主要有四种:map、set、multimap、multiset。这四种容器的共同点是:使
用平衡搜索树(即红黑树)作为其底层结果,容器中的元素是一个有序的序列。

map:k-vkey必须唯一
multimap:k-vkey可以重复
set:k模型key不能重复
multiset: k模型key可以重复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值