多语言展示
当前在线:308今日阅读:161今日分享:11

c++ STL容器map和unordered_map有什么区别

当我们提到效率的时候,map和unordered_map之间存在着很大的区别。如果我们想要顺利地使用这些的时候我们必须学会了解这些函数的内在机制。下面小编将教大家如何使用这些容器。
工具/原料
1

codeblocks

2

c++ 11编译器

方法/步骤
1

先来说下区别:排序map: 在缺省下,按照递增的排序顺序unordered_map :不排序

3

搜索时间:map: 该类型的搜索时间复杂度为log(n)unordered_map : 搜索时间复杂度。O(1)为平均时间,最坏情况下的时间复杂度为O(n);

4

插入操作的时间复杂度:map : 该操作的时间 复杂度为log(n)+再平衡时间unordered_map : 该操作的时间复杂度与搜索的时间复杂度一样。

5

删除操作的时间复杂度:删除操作的时间复杂度与插入操作的时间复杂度是一样的。

6

如果你想要一个具有排序后的数据的话,通常可以选择Map这种类型。或者想要打印具有一定顺序的元素。

7

如果你只想记录数据而不是想要将数据进行排序的话,那么就可以选择unordered_map这种数据结构。

注意事项

如果对您有帮助就请点个赞吧

推荐信息