海量数据中找出出现次数最多的前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; } }
相关文章推荐
- iOS 简单播放音效
- Java资源大全中文版(Awesome最新版)
- eclipse安装WindowBuilder
- 为什么匿名内部类和局部内部类只能访问final变量
- 使用输入流写一个对象
- Js文件中调用其它Js函数的方法
- getElmentsByClassName用法
- 校招第二站-----爱数
- HDU 2824
- 第五百零九天 how can I 坚持
- HDU 5882 Balanced Game
- [javaEE] 反射-通过反射了解集合泛型本质
- 判断一个点是否在三角形内
- 性能测试工具总结
- 抽象类与接口的思考
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- 用Spring MVC开发简单的Web应用
- C与C艹的内存管理方式
- HDU 5884 Sort
- Lock接口中的几个方法讨论