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

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

分类:
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相对效率要低一些。

posted on
2013-03-28 15:09  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/lexus/archive/2013/03/28/2986791.html

你可能感兴趣的文章
Leetcode C++《每日一题》20200621 124.二叉树的最大路径和
查看>>
Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配
查看>>
Leetcode C++《每日一题》20200625 139. 单词拆分
查看>>
Leetcode C++《每日一题》20200626 338. 比特位计数
查看>>
Leetcode C++ 《拓扑排序-1》20200626 207.课程表
查看>>
Go语言学习Part1:包、变量和函数
查看>>
Go语言学习Part2:流程控制语句:for、if、else、switch 和 defer
查看>>
Go语言学习Part3:struct、slice和映射
查看>>
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
leetcode 130. Surrounded Regions
查看>>
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>
【Python】关于Python多线程的一篇文章转载
查看>>