STL的map类型

      关于map的数据类型,可以与set进行比较,我们说set,map都是关联性容器,也即set,map都是根据关键字进行数据存储、读取的,我们说set是关键字和数据相同的关联性容器,而map则是不同的,也即利用数学上的映射关系建立的键值对进行存储和读取。

#include<map>
#include<iostream>
using namespace std; struct myComp

{
	int a, b, c;
	myComp() :a(0), b(0), c(0){};
	myComp(int aa, int bb, int cc) :a(aa), b(bb), c(cc){};
	friend bool operator< (const myComp &la, const myComp &lb);
};

inline bool operator< (const myComp &la, const myComp &lb)
{
	if (la.a != lb.a) return la.a < lb.a;
	if (la.b != lb.b) return la.b < lb.b;
	if (la.c != lb.c) return la.c < lb.c;
	return false;
}
int _tmain(int argc, _TCHAR* argv[])
{
	map<myComp, char> imap;
	imap[myComp(4, 5, 0)] = 'q';
	imap[myComp(2, 8, 9)] = 'o';
	imap[myComp(3, 9, 1)] = 'u';
	imap[myComp(3, 10, 1)] = '9';
	imap[myComp(3, 9, 0)] = '0';
	imap[myComp(11, 11, 11)] = 'g';
	map<myComp, char>::iterator iter = imap.begin();
	for (; iter != imap.end(); ++iter)
	{
		char temp[16] = { 0 };
		cout << (iter->first).a << " " << (iter->first).b << " " << (iter->first).c << " " << iter->second << endl;
	}
	return 0;
}
同样的改map的插入操作也是insert_unique操作不允许插入与之前相同的值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

世纪殇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值