map在竞赛中的应用

这篇博客探讨了在竞赛中如何应用map这一数据结构。map允许使用可比较的key值,例如自定义结构体,并能直接通过key进行赋值和查询。如果查询的key不存在,map会返回默认值0。文章还提到了遍历map的方法,以查找特定key的场景为例。
摘要由CSDN通过智能技术生成

一、定义

map中的key值和value取值种类很多,但是key必须是可比较的,例如自定义的结构需要加上比较函数:

struct Dian
{
	int x;
	int y;
	bool operator < (const struct Dian &a) const {
		if(x==a.x)return y>a.y;
        return x>a.x;//最小值优先
    }
};
map<struct Dian,int>mymap;

二、修改

例如temp为一个键值

直接map[temp]=5;即可

我们在查询的时候对于一个不存在的temp,map[temp]是为0的

三、遍历

map<struct Dian,struct Vaul>::iterator it;
for(mapit=mymap.begin();mapit!=mymap.end();it++)
{
	tempA=it->first;//key值
	tempB=it->second;//value值
	...
}
四、查找

例如我们想查找tempFind

map<struct Dian,struct Vaul>::iterator mapf;
mapf=mymap.find(tempFind);//返回指向tempFind的迭代器
if(mapf==mymap.end())//没有找到
if(mapf!=mymap.end())//找到了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值