我需要查找字符串數組中出現次數最多的元素。我不知道該怎麼做,因爲我沒有太多的經驗。我不知道指針/哈希表。字符串數組中出現次數最多的元素
我已經完成了整數,但我不能讓它適用於字符串。
我的版本:
#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