map的查找

map的查找

#include <iostream>
using namespace std;
#include <map>
#include <string>
int main()
{
	map<int,string> map1;
	//map元素的添加方法1
	map1.insert(pair<int,string>(1,"teacher01"));
	map1.insert(pair<int,string>(2,"teacher02"));
	//map元素的添加方法2
	map1.insert(make_pair(3,"teacher03"));
	map1.insert(make_pair(4,"teacher04"));

	//map元素的添加方法3
	map1.insert(map<int,string>::value_type(5,"teacher05"));
	map1.insert(map<int,string>::value_type(6,"teacher06"));

	//map元素的添加方法4
	map1[7]="teacher07";
	map1[8]="teacher08";

	//map遍历

	for(map<int,string>::iterator it=map1.begin();it!=map1.end();it++)
	{
		cout<<it->first<<"\t"<<it->second<<endl;
	}

	cout<<"-----遍历结束-----"<<endl;

	//map的查找//异常处理
	map<int,string>::iterator it2=map1.find(100);
	if(it2==map1.end())
	{
		cout<<"Key100的值不存在"<<endl;
	}
	else
	{
		cout<<it2->first<<"\t"<<it2->second<<endl;
	}

	//equal_range
	pair<map<int,string>::iterator,map<int,string>::iterator> mypair =map1.equal_range(5);//返回两个迭代器,形成一个pair
	//使用第一个迭代器是mypair.first;使用第二个迭代器是mypair.second
	//第一个迭代器是大于等于5的位置;第二个迭代器是等于5的位置
	if(mypair.first==map1.end())
	{
	cout<<"第一个迭代器>=5的位置不存在"<<endl;
	}
	else
	{
		cout<<mypair.first->first<<"\t"<<mypair.first->second<<endl;//second是第一个迭代器的string
	}

	//使用第二个迭代器
	if(mypair.second==map1.end())
	{
		cout<<"第二个迭代器>5的位置不存在"<<endl;
	}
	else
	{
		cout<<mypair.second->first<<"\t"<<mypair.second->second<<endl;//second是第一个迭代器的string
	}
	system("pause");
	return 0;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值