map容器会按键自动升序排序,要使map容器降序排序,或者按照自定义的顺序排序,需要写一个仿函数,重载()操作符,然后把类名传给sort的第三个参数
Struct MyCompare{
Bool operator () (const int& nLeft, const int& nRight){
Return nLeft > nRight
}
}
对于插入相同的数据,map会自动判断,如果有相同键值,不会进行插入,有两种方法可记录出现某个相同的键的次数
1.下标操作:++map[key]
2.使用pair类型
Pair<map<string, int>::iterator, bool> ret = map.insert(makepair(key, value))
If(!ret.second)
++ret.first->second;
Multimap容器支持键相同的情况,也是按键值的默认排序。
注意两者之间的区别与相互应用