大数据之红黑树(哈希表)

来源:互联网 发布:徐静蕾开淘宝店么 编辑:程序博客网 时间:2024/05/16 19:47
#include <iostream>
#include <list>
#include <vector>
#include <functional>//函数对像
#include <string>
#include <algorithm>
#include <time.h>
#include <typeinfo>
#include <map>
#include <queue>
using namespace std;
class node
{
public:
node(int i,int j) :first(i),second(j)
{}
int first;
int second;
friend bool operator<(const node &na, const node &nb) ; 
};
bool operator<(const node &na, const node &nb)  
    {  
return na.second<nb.second;  
    }  
int main()
{
vector<list<int,int>>;
vector<int> arr;
map<int,int> a;
priority_queue<node> c;
srand(time(0));
for(int i=0;i<10000;i++)
{
arr.push_back(rand()%100);
}
for(int i=0;i<10000;i++)
{

if(a.end()!=a.find(arr[i]))
{
a.find(arr[i])->second++;
}
a.insert(make_pair(arr[i],1));
}
map<int,int>::iterator t2=a.begin();
for(int i=0;i<10;t2++,i++)
{
c.push(node(t2->first,t2->second));
}
for(;t2!=a.end();t2++)
{
if(c.top()<node(t2->first,t2->second))
{
c.pop();
c.push(node(t2->first,t2->second));
}
}
for(int i=0;i<10;i++)
{
cout<<c.top().first<<" "<<c.top().second<<endl;
c.pop();
}


}
原创粉丝点击