C++基础知识-map/multimap的基本应用

 简介

  首先,map容器中所有元素都是成对出现的,其中第一个元素为key,起到索引的作用,会自动按照key值的大小排序;第二个语速为value,用于存放值。其中map的key值不可重复,而multimap的key值可以重复。

  map属于关联式容器,其底层结构是二叉树。

1.遍历

  迭代器遍历

void PrintfMap(map<int,int> &m)
{
	for(map<int,int>::iterator it=m.begin();it!=m.end();it++)
	{
		cout<<"key="<<it->first<<"value="<<it->second<<endl;
	}
	cout<<endl;
}

2.创建

  Map中中常用创建方法有三种:

  1.默认创建

map<ElemType1,ElemType2> m1;

m1.insert(pair<ElemType1,ElemType2>(key1,value1));
m1.insert(pair<ElemType1,ElemType2>(key2,value2));

  2.拷贝创建

map<ElemType1,ElemType2> m2(m1);

  3.重载等号赋值创建

map<ElemType1,ElemType2> m3;
m3=m1;

实例:

//02创建
void test02()
{
	map<int,int>m1;
	m1.insert(pair<int,int>(21,201));
	m1.insert(pair<int,int>(22,202));
	m1.insert(pair<int,int>(23,203));	
	m1.insert(pair<int,int>(24,204));	
	PrintfMap(m1);

	map<int,int> m2(m1);
	PrintfMap(m2);
	
	map<int,int> m3;
	m3=m1;
	PrintfMap(m3);	
}

运行结果图:

4d6c76ab22574fa7a5160bf0b19c12f9.png

3.增加元素

  Map中常用的有以下两种插入元素的方法,其得到的结果是一样的:

m.insert(pair<int,int>(1,10));
m.insert(make_pair(1,10));

实例:

//03增加元素
void test03()
{
	map<int,int>m0;
	m0.insert(pair<int,int>(31,301));
	m0.insert(pair<int,int>(32,302));
	m0.insert(pair<int,int>(33,303));
	
	m0.insert(make_pair(34,304));
	m0.insert(make_pair(35,305));
	m0.insert(make_pair(36,306);
	PrintfMap(m0);		
}

运行结果图:

6a3b909529c8454a87fd7dd21f372c7d.png

4.删除元素

  Map中删除元素主要使用erase函数。

m.eras
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早点睡啊Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值