您的位置:首页 > 其它

如何找出数组中重复次数最多的数

2016-05-12 22:00 162 查看
数组{1,1,2,2,4,4,4,4,5,5,6,6,6},问题是找出出现重复次数最多的数,该数组重复出现次数最多的是4,本问题我使用map映射表,通过引入map表,map是STL的一个关联的容器,它提供一对一的数据处理能力,其中第一个关键字,每个关键字只能在map中出现一次,第二个称为该关键字的值,来记录每一个元素出现的次数,然后判断次数的大小,进而找出重复次数最多的元素。

程序实例如下,环境是VC6.0:

#include <iostream>
#include <map>

using namespace std;

bool findMostFrequentInArray(int *a,int size,int &val)
{
if(size == 0)
{
return false;
}
map<int,int> m;
for(int i=0;i<size;i++)
{
if(++m[a[i]]>=m[val])
val=a[i];
}
}

int main()
{
int a[]={1,1,2,2,4,4,4,4,5,5,6,6,6};
int val=0;
if(findMostFrequentInArray(a,11,val))
{
cout<<val<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: