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;
}
}