map的定义方法
map的定义方法:
map<数据类型,数据类型> 变量名字
举例:
map<int,int> mymap;
第一个数据类型是key,是键
第二个数据类型是value,是值
另外map初始值会默认为0的
根据键和值是什么类型的,定义一个map
和数组的方法类似,先单独定义一个变量存,操作是和数组的方法相似的
好处:
map可以实现string到int这种不同类型的映射
map要掌握的方法只有一个,那就是一对一映射
/*
老师给你一张成绩表,他现在希望知道某个分数有几个学生,
例如,得分85分的有4位同学这样子,现在他找到你,希望你能写一个程序实现他的功能。
输入格式:
第一行输入一个整数N,表示成绩表有N行,接下来输入N行,
每行一个数字,表示成绩分数,然后输入一个整数K,表示有K个询问,
接下来输入K个整数,表示询问的分数,你要做的是对于每一个询问输出对应分数有多少名学生。例子1:
输入
5
85
90
91
90
95
3
85
90
93
对应输出
1
2
0
*/#include <bits/stdc++.h>
using namespace std;
int N;
int K;map<int,int> mymap;
int main(){int num;cin>>N;for(int i = 0 ; i < N ; i++){cin>>num; mymap[num]++;//mymap[num]表示的是分数为i的人数/*第一次出现本应该是0,但是++了如果出现过的话,它就会立即对号入座的++那个*/}int num2;cin>>K;for(int j = 0; j < K ; j++){cin>>num2;cout<<mymap[num2]<<endl;}
}