#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;
}
C++ STL中涉及到关联容器部分有关multimap的内容
最新推荐文章于 2024-07-08 17:16:43 发布