当前位置: 代码迷 >> 综合 >> 14.map/multimap
  详细解决方案

14.map/multimap

热度:63   发布时间:2023-11-24 08:32:45.0

基本概念

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527170031180.png?x-oss-在这里插入图片描述

value可以重复但是key的值不可以重复。

map中所有元素都是成对出现的,插入时需要使用对组。

 map<int,int>m;m.insert(pair<int ,int >(10,20));

map的构造和赋值
在这里插入图片描述
map容器的大小和交换

在这里插入图片描述

map插入和删除

在这里插入图片描述
在这里插入图片描述
特别注意:如果插入的数据在map中已经存在,则不会插入,不能用insert完成覆盖更新!切记!!!!

删除的时key对应的而不是value对应的

map查找和统计

在这里插入图片描述

注意了!找的是key!不是value

改变map的排序规则

#include <iostream>
#include <map>
using namespace std;
class com
{
    
public:bool operator()(int a, int b)const{
    //降序 return a > b;}
};
int main()
{
    map<int, int, com >m;m.insert(make_pair(1, 10));m.insert(make_pair(2, 20));m.insert(make_pair(3, 30));for (map<int, int, com>::iterator it = m.begin(); it != m.end(); it++){
    cout << "key " << it->first << " " << it->second << endl;}}