c++ map的使用


题目描述:

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM