题目描述:
n(n<=200000)个数(1.5*10^9范围内),输出重复的数(最多10000个)出现的次数
代码:
#include <iostream>
#include <map>
#include <cstdio>
using namespace std;
map<int,int> a;
int n,t;
int main()
{
freopen("count.in","r",stdin); //打开输入文件
freopen("count.out","w",stdout); //打开输出文件
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>t;
a[t]++;
}
for(map<int,int>::iterator it=a.begin();it!=a.end();it++)
cout<<it->first<<" "<<it->second<<" "<<endl;
fclose(stdin);//关闭输入文件
fclose(stdout);//关闭输出文件
}
几个操作总结:
1.定义map<数据类型,数据类型> 变量名;
2.首元素:x.began()
3.尾元素:x.end()
4.遍历:
先定义一个迭代器:
map<数据类型,数据类型>::iterater it;
接着:
it=a.begin();it!=a.end();it++
这里it相当于指针.
4.输出元素:
定义的第一个:it->first
第二个:it->second
原文:https://www.cnblogs.com/huaruoji/p/11729426.html