我需要查找字符串数组中出现次数最多的元素。我不知道该怎么做,因为我没有太多的经验。我不知道指针/哈希表。字符串数组中出现次数最多的元素
我已经完成了整数,但我不能让它适用于字符串。
我的版本:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a[]={1,2,3,4,4,4,5};
int n = sizeof(a)/sizeof(int);
int *b=new int [n];
fill_n(b,n,0); // Put n times 0 in b
int val=0; // Value that is the most frequent
for (int i=0;i<n;i++)
if(++b[a[i]] >= b[val])
val = a[i];
cout<<val<<endl;
delete[] b;
return 0;
}
查找字符串数组中最频繁出现的元素任何帮助表示赞赏!
它可能看起来几乎相同的方式,但你一直在使用'std :: map'而不是'int * b'。 –
LihO
2013-02-24 19:52:52
呃..我试过地图,没有真正使它工作,我一直在谷歌搜索一小时的提示,没有设法找到有用的东西... – 2013-02-24 20:02:36
你为什么尝试刺? – 2013-02-24 20:04:43