您的位置:首页 > 其它

海量数据中找出出现次数最多的前10个URL

2016-09-19 22:34 441 查看
#include<iostream>
#include<string>
#include<map>
#include<vector>
using namespace std;

int main(void)
{
//海量数据
string a[5]={"ab","b","ccc","ab","ccc"};
int n=sizeof(a)/sizeof(a[0]);
cout<<n<<endl;
vector<string> vs(a, a+n);
//哈希统计频率
map<string,int> mp;
for(int i=0;i<n;i++)
{
if(mp.find(a[i])!=mp.end())
{
mp[vs[i]]++;
}
else
{
mp[vs[i]]=1;
}
}
//对字符串按出现频率排序
multimap<int,string> multimp;
map<string,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++){
multimp.insert(pair<int,string>(it->second,it->first));
//multimp.insert(it->second,it->first);
}
//输出出现频率最高的两个字符串
multimap<int,string>::iterator mit=multimp.end();
for(int i=1;i<=2;i++)
{
mit--;
cout<<mit->second<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: