map常识。map与pair

1、构建

map<int,int>mymap;

map<string,int>mymap;

map<int,double>mymap;

初始化赋值

unordered_map<char>map = {

        {key,value},

        {key,value},

        {key},value

};

2、map的key和value

map.first:key

map.second :value 

***map[key]++ ***。map[key]表示value。

3、插入insert

map.insert(pair<int,string>(10,"ft")) 

map[10] = "ft";

*****在map中使用下标访问不存在的元素将导致在map容器中添加一个新的元素。*****

4、查找find;删除erase

auto iter = mymap.find(10)。find返回的是迭代器。没找到就是end()。

mymap.erase(iter);

5、count

map.count(val)。查找是否存在val键。有返回1,没有返回0;

自定义排序

c++ map是以key排序的,如果想要按照value进行排序,需要把pair放到vector中,按照sort并且重写排序函数。

struct tmp2 {//重写仿函数

        bool operator() (type a, type b) { //type可是int,string,pair<int,int>等

                return a.x < b.x; //大顶堆

        }

};

二、pair

1、pair的类型:pair是一种模版类型。每个pair 可以存储两个值。这两种值的类型没有限制,也可以将自己写的类放进去。

2、pair 应用:如果一个函数有两个返回值的话,如果是相同类型,就可以用数组返回,如果是不同类型,两个属性的话,就可以用pair 进行操作,有多个属性的时候 ,可以使用tuple。

pair<int ,int >p (5,6);

pair<int ,int > p1= make_pair(5,6);

pair<string,double> p2 ("aa",5.0);

pair <string ,double> p3 = make_pair("aa",5.0);

在C++中,pair是一种用于存储两个不同类型的值的结构。它通常被用作容器类(如map、unordered_map等)的元素类型,其中一个值是键(key),另一个值是与之相关联的值(value)。因此,pair可以被认为是一种key-value结构。

!!!pari的比较,先比较第一个元素,第一个相等比较第二个。注意并没有关联容器,如果在map中,key是唯一的

三、联系

map作为一个容器,pair作为元素。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值