![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
C++m
7年c++开发经验
展开
-
C++11 unordered_map与map(插入,遍历,Find)效率对比。
之前写过一篇:C++98 使用无序mapC++98 使用无序mapvs2017 Release X64环境下:执行一千万次的时间下图所示:第一组数据:可以看出有序map执行插入所需时间比较短,约快2.3倍,第二组数据:遍历时间基本一致,第三组数据:无序map Find一千万次所需时间却快了约20倍。上图是执行一百万次结果。插入无序map慢了一倍,但Find快。上图是执行十万次结果。时间上来看相差无几。代码在这里综上来看:在有大量插入操作,Find不那么多的时候,优先原创 2021-08-24 16:06:02 · 3457 阅读 · 0 评论 -
C++98 STL的map 如何避免自动排序
C++11中有无序map即: unordered_map 可以不自动排序,那么C++98中只有map 如何避免自动排序呢?首先来看一下map的原理:STL 中 map 其实,为了实现快速查找,map内部本身就是按序存储的(比如红黑树)。在我们插入<key, value>键值对时,就会按照key的大小顺序进行存储。这也是作为key的类型必须能够进行<运算比较的原因。大家都知...原创 2020-05-07 10:59:46 · 2214 阅读 · 2 评论