map key可以重复吗 如何给map的key值排序?
如何给map的key值排序?在C中,map是一种常见且易于使用的数据结构。映射是按键自动排序的,但有时我们需要按每个元素的值对映射进行排序。因为STL的sort函数不支持按值对地图排序,所以我们只能考
如何给map的key值排序?
在C中,map是一种常见且易于使用的数据结构。映射是按键自动排序的,但有时我们需要按每个元素的值对映射进行排序。因为STL的sort函数不支持按值对地图排序,所以我们只能考虑另一种方法。
这是一种非常方便的使用Multimap的方法。Multimap与map类似,每个元素分为两部分:键和值。类似地,Multimap将根据键自动排序。区别在于map中的key不允许重复,而Multimap允许key重复。通过将映射中的键和值传递到Multimap,可以按值对映射进行排序。
代码如下所示:
Map<char,int> CNT,Multimap<int,char>ucnt for(Map<char,int>::iterator itr=cnt.开始()它!= 控制端()itr){ucnt.插入(pair<int,char>(itr->second,itr->first))}