C++中常见stl关联容器的比较

关联容器

c++11标准库中主要介绍了以下8种关联容器,其区别如下:

set与multiset(有序,节点只存一个值)

实现:平衡二叉树。
优点:自动排序使得查找有良好性能。
缺点:不能直接改变元素值,改变树则乱。
set与multiset的区别:前者每一个元素只能出现一次,不允许重复;后者元素可以重复。

map与multimap(有序,key/value可以任意)

实现:平衡二叉树。
优点:自动以key值大小排序使得查找有良好性能。
缺点:不能直接改变key值,改变树则乱。
map与multimap的区别:前者每一个key元素只能出现一次,不允许重复;后者key值可以重复。

unordered set与unordered multiset(无序,节点只有一个值)

实现:给定一个hash函数以hash table数据结构实现(内部实则是一个链表)。
优点:有助于快速访问
缺点:没有明确的排序,每一个都是随机的

unordered map与unordered multimap(有序,key/value可以任意)

实现:给定一个hash函数以hash table数据结构实现(内部实则是一个链表
优点:有助于快速访问
缺点:没有明确的排序,每一个都是随机的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值