博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
std::map, std::multimap, std::tr1::unordered_map 区别 - 笔记本 - 博客频道 - CSDN.NET
阅读量:7097 次
发布时间:2019-06-28

本文共 498 字,大约阅读时间需要 1 分钟。

分类:
399人阅读
(0)
map和multimap都是基于binary tree的东西,区别是:

map中一个key只能存在一个,multimap中则可以存在多个key相同的value。

unordered_map是我们常说的hash_map,它的key也是唯一的,

所以你应该还会看到一个叫做unordered_multimap的东西。


std::set std::multiset std::map std::multimap

这几个东西都是基于binary tree的,具体地说是红黑树。


boost::unordered_set boost::unordered_multiset boost::unordered_map boost::unordered_multimap

这几个东西都是基于我们常说的 hash_table 的。


map和multimap在插入数据的时候会根据key自动排序,
而unordered_map和unordered_multimap则不会自动根据key排序。

因此在插入的时候map和multimap相对效率要低一些。

转载地址:http://ukhql.baihongyu.com/

你可能感兴趣的文章
2018 Multi-University Training Contest 4
查看>>
流程控制引擎组件化
查看>>
数据库初识--从MySQL 出发
查看>>
5、Web Service-整合CXF
查看>>
c++最短路经典问题
查看>>
vxworks串口的初始化和读写
查看>>
C#-之属性(1)
查看>>
快速幂取模(当数很大时,相乘long long也会超出的解决办法)
查看>>
Drupal8开发教程:认识.info.yml文件
查看>>
面向对象约束常规写法
查看>>
iis8.0 https配置教程
查看>>
Linux(centos7)如何安装Zend Optimizer Zend Guard Loader
查看>>
Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析之Scala学习笔记-51...
查看>>
lex&yacc7
查看>>
C++ 语音聊天
查看>>
Javadoc注释的用法
查看>>
异步/同步、阻塞/非阻塞的理解
查看>>
sql中如何调用另一台服务器的数据库查询数据呢?
查看>>
EF+Code First+Database First+Model First,EF开发流程
查看>>
HttpWebRequest的常见错误使用TcpClient可避免
查看>>