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

来源:互联网 发布:在b站做网络直播有延迟 编辑:程序博客网 时间:2024/05/21 20:43
#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;    }}
0 0
原创粉丝点击