使用红黑树查找最小n个数,适合处理大数据
来源:互联网 发布:开淘宝店支付宝认证 编辑:程序博客网 时间:2024/05/21 10:44
使用STL容器 multiset
代码:
#include <iostream>#include <vector>#include <set>using namespace std;typedef multiset<int,greater<int> > intSet;typedef multiset<int,greater<int> >::iterator intIter;void findMaxNum(const vector<int> &data,int k){intSet Max; Max.clear();if(k < 1 || data.size() < k) return ;vector<int>::const_iterator iter = data.begin();for(;iter != data.end();++iter){if(Max.size() < k){Max.insert(*iter);}else{intIter least=Max.begin();if((*iter) < *( Max.begin())){ //只能是begin()删除Max.erase(least);Max.insert(*iter);}}}for( intIter it = Max.begin(); it != Max.end();it ++){cout<<*it << " ";}}int main(){vector<int> data;for(int i=0;i<1000;i++){data.push_back(i);}findMaxNum(data,10); return 0;}
运行结果:
1 0
- 使用红黑树查找最小n个数,适合处理大数据
- 最小的k个数--适合处理海量数据
- 在大容量数据集中查找前N个数的算法
- 在大容量数据集中查找前N个数的算法
- 查找n个数中最小的k个元素
- 查找N个数中第K大的数
- 查找N个数中第K大的数
- 查找第n个数
- 使用堆栈 取数组中最小(最大)的n个数
- 寻找最小的k个数,处理海量数据的思想
- 查找最小的K个数
- 查找最小的k个数
- 查找最小的K个数
- n 个数中最小的 k 个数
- 十大基础实用算法之寻找最小(最大)的k个数-线性查找算法
- 使用JDBC处理大数据
- 使用JDBC处理大数据
- 使用JDBC处理大数据
- 人体行为识别的几个入门文章和网址
- 开始
- (转)无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Excel._Application”
- POJ 2778 - DNA Sequence (AC自动机 矩阵快速幂)
- margin和padding的区别
- 使用红黑树查找最小n个数,适合处理大数据
- Android开发环境搭建全程演示(jdk+eclipse+android sdk)
- IT行业项目管理交流说明会
- struts2 maven整合tiles3
- CSS背景
- 看大神讲解:mvc与三层结构终极区别
- linux ps 和grep命令
- Python模块学习 ---- datetime
- 宏定义的黑魔法