海量数据中找出出现次数最多的前10个URL
Posted 爱橙子的OK绷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海量数据中找出出现次数最多的前10个URL相关的知识,希望对你有一定的参考价值。
#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;
以上是关于海量数据中找出出现次数最多的前10个URL的主要内容,如果未能解决你的问题,请参考以下文章
Linux命令经典面试题:统计文件中出现次数最多的前10个单词