C++ STL中涉及到关联容器部分有关multimap的内容

#include<iostream>

using namespace std;

#include"map"
#include<string>

/*Multimap 案例 :*/
//1个key值可以对应多个valude  =分组 
//公司有销售部 sale (员工2名)、技术研发部 development (1人)、财务部 Financial (2人) 
//人员信息有:姓名,年龄,电话、工资等组成
//通过 multimap进行 信息的插入、保存、显示
//分部门显示员工信息 

class People{

public:
	char name[20];
	int age;
};

void main1201()
{

	//初始化对象
	People p1, p2, p3, p4, p5;

	strcpy(p1.name, "王1");
	p1.age = 12;

	strcpy(p2.name, "王2");
	p2.age = 22;

	strcpy(p3.name, "李1");
	p3.age = 32;

	strcpy(p4.name, "赵1");
	p4.age = 42;

	strcpy(p5.name, "赵1");
	p5.age = 52;




	//定义一个multimap
	multimap<string, People> m1;

	//插入数据到multimap
	m1.insert(make_pair("sale", p1));
	m1.insert(make_pair("sale", p2));
	m1.insert(make_pair("development", p3));
	m1.insert(make_pair("Financial", p4));
	m1.insert(make_pair("Financial", p5));

	//遍历
	multimap<string, People>::iterator it1 = m1.begin();

	for (it1; it1 != m1.end(); it1++)
	{
		cout << "员工部门:" << it1->first << "员工姓名:" << it1->second.name << "员工年龄:" << it1->second.age << endl;
	}

	//按部门输出员工信息  Financial

	multimap<string, People>::iterator it = m1.find("Financial");  
	int num = m1.count("Financial");
	int temp = 0;


	while (it != m1.end() && temp<num)
	{
		cout << "员工姓名:" << it->second.name << "员工年龄:" << it->second.age << endl;
		it++;
		temp++;
	}






}
int main()

{
	main1201();
	system("pause");
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值