查询出现最多次数的数(重复的也都输入出来)

#include<iostream>
#include<map>
using namespace std;
void main()
{
    map<int,int> m;
    int u,v;
    cin>>v;
    int flag;
    
    for(int i=0;i<v;i++)
    {
        cin>>u;
        m[u]++;
    
    }
    int ans,count=0;
    for(map<int,int>::iterator it=m.begin();it!=m.end();it++)
    {
        if(it->second>count)
            count=it->second;
        flag=count;
    }
    cout<<flag<<endl;
    for(map<int,int>::iterator its=m.begin();its!=m.end();its++)
    {
        if(flag==its->second)
            cout<<its->first<<endl;
    }
    

}

这个是我上一个的写的改进版。

提示我自己的一点是:

     int ans,count=0;

for(map<int,int>::iterator it=m.begin();it!=m.end();it++)
    {
        if(it->second>count)         //这个就是说在一个数组或者一堆数中找到最大的那个写法,从第一个数开始,又比它大的就记下来,最后记住了最大的数。
            count=it->second;
    }

#include<iostream>#include<map>using namespace std;void main(){map<int,int> m;int u,v;cin>>v;int flag;for(int i=0;i<v;i++){cin>>u;m[u]++;}int ans,count=0;for(map<int,int>::iterator it=m.begin();it!=m.end();it++){if(it->second>count)count=it->second;flag=count;}cout<<flag<<endl;for(map<int,int>::iterator its=m.begin();its!=m.end();its++){if(flag==its->second)    cout<<its->first<<endl;}
}

posted @ 2020-03-04 19:28  一个想飞的菜鸟  阅读(276)  评论(0)    收藏  举报