首页 > 其他分享 >stl--<map>的用法

stl--<map>的用法

时间:2023-09-12 12:34:49浏览次数:53  
标签:map cout iterator stl rit 用法 -- int include


The most frequent number


第一行输入n(n<1000000);


第二行输入n个数,


找出出现次数最多的数,入不只有一个答案,输出最小的答案;


例:


输入:6


1 2 2 2 3 5


输出:


2


用的#include<map>,按键值(第一个数的值)排序,主要有:


定义:map<int,float> m;



插入元素:map[3]=5.123;



遍历:map<int,float>::iterator it;


for(it=m.begin();it!=m.end();it++)


{


cout<<(*it).first<<":"<<(*it).second<<endl;


}



反向遍历:map<int,float>::reverse_iterator rit;


for(rit=m.rbegin();rit!=m.rend();rit++)


{


cout<<(*rit).first<<endl;


cout<<(*rit).second<<endl; 


}



删除:m.erase(3);



清空:m.clear();



搜索:it=m.find(3);



还有个 自定义比较函数 ,有时间在补充吧TAT



#include<stdio.h>
#include<string.h>
#include<map>
using namespace std;

int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int i;
		map<int,int> m;
		map<int,int>::iterator it;
		m.clear();
		for(i=1;i<=n;i++)
		{
			int a;
			scanf("%d",&a);
			it=m.find(a);
			if(it==m.end())
			{
				m[a]=1;
			}
			else
			{
				(*it).second++;
			}
		}
		int max=0,temp;
		for(it=m.begin();it!=m.end();it++)
		{
			if(max<(*it).second){
				max=(*it).second;
				temp=(*it).first;
			}
		}
		printf("%d\n",temp);
	}
}




标签:map,cout,iterator,stl,rit,用法,--,int,include
From: https://blog.51cto.com/u_16244339/7444325

相关文章

  • hdu 4705 Y
    dfs1.要#pragmacomment(linker,"/STACK:16777216")2.扩栈要vc++编译环境3.不能用%lld,要用%I64d,无语。。#pragmacomment(linker,"/STACK:16777216")//手动扩栈#include<stdio.h>#include<string.h>#include<stdlib.h>#include<vector>using......
  • a^b%c问题 ---模板
    (1)ABmodC.(1<=A,B<2^62,1<=C<=10^9)http://acm.bit.edu.cn/mod/programming/view.php?a=530快速幂----二分#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>usingnamespacestd;longlongquickpow(......
  • 树状数组--模板
    #include<stdio.h>#include<string.h>#defineN50050intn;intin[N];intLowbit(intt){ returnt&(-t);}intSum(intp){ intsum=0; while(p>0) { sum+=in[p]; p-=Lowbit(p); } returnsum;}voidplus(intp,intnum){ while(......
  • dijkstra 模板
    Input输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time分钟;(1=<(a,b)<=1000;a,b之间可能有多条路)接着的第T+1行有S个数,表示和草儿家相连的城市;接着的第T+2行......
  • hdu-3926-Hand in Hand-并查集
    判断两个图是否同构。。用了并查集。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#include<queue>#include<stack>usingnamespacestd;#definelllonglongintn,m;structnode{ intfu; intsum; intf......
  • 堆栈应用——括号匹配问题
    堆栈是各种软件系统中应用最广泛的数据结构之一。括号匹配问题和表达式计算是编译软件中的基本问题,其软件设计中都需要用到堆栈。【括号匹配问题】假设一个算术表达式中包含圆括号、方括号和花括号三种类型括号,编写一个判别表达式中括号是否正确匹配配对的函数,并设计一个测试主......
  • 确定的有限自动机的表示
    确定的有限自动机:DeterministicFiniteAutomata,简称DFA。一个确定的有限自动机是个五元组:(S,∑,f,s0,Z),其中:(1)S是一个有限集合,它的每个元素称为一个状态。(2)∑是一个有穷字母表,它的每个元素称为一个输入字符。(3)f是SX∑→S上的单值部分映像。f(A,a)=Q表示当前状态为A、输入为a时,将......
  • 古罗马--模板
    计算古罗马加法,输入不合法,则输出“Aha!Idon'tneedtocalculatethesum”。 测试用例1以文本方式显示I↵I↵以文本方式显示II↵1秒64M0#include<stdio.h>#include<string.h>#include<stdlib.h>charp[5][11][10];voiddabiao(){ memset(p,0,sizeof(p)); st......
  • 位图法
    电话号码问题商业单位需要容易记忆的电话号码,有一些方法可以让电话号码变得更容易记忆。譬如,可以把电话号码写成单词或短语,如MON-GLOP可以代表滑铁卢大学的电话。有时仅仅是把号码的一部分写成单词,如打310-GINO便可向GINO比萨饼店定购比萨。另一种让电话号码容易记忆的方......
  • 首家!亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试
    近日,在中国信通院“可信数据库”数据库迁移工具专项测试中,湖南亚信安慧科技有限公司(简称:亚信安慧科技)数据库数据同步平台V2.1产品依据《数据库迁移工具能力要求》、结合亚信科技AntDB分布式关系型数据库产品,成为首款完成标准所规定的测试产品。测试过程依据标准在基础功能、数据库......