c++中map是有序的吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中map是有序的吗相关的知识,希望对你有一定的参考价值。
是的,无论是map还是multimap都是有序的,会按键排序。
区别是map的键不能重复,而multimap的键可以重复。
下面图中有两个例子供参考:
参考技术A Map是无序的,它的存储结构是哈希表<key,value>键值对,map中插入元素是根据key计算出的哈希值来存储元素的,因此他不是按照元素的添加顺序来存储对象的,所以Map是无序的。它的实现类有:HashMap、TableMap和TreeMap。其中LinkedHashMap是有序的,hashMap用来保证存储的值键值对,list用来保证插入的顺序和存储的顺序一致。 参考技术B 有序的,一般说有序无序都是判断是否符合ascii码顺序,如符合,则认为有序 参考技术C 所以,这里的排序是指:不改变插入的顺序 还是 插入后排序呢?
以上是关于c++中map是有序的吗的主要内容,如果未能解决你的问题,请参考以下文章