在线等待,如何把类插入到优先队列...........................
问题是:如何根据我定义的hNode里的value属性来做为优先队列的权值?
以下代码在push的时候老是报错,请教.有类似的代码的恳请show一下.
代码如下:
#include <iostream>
#include <queue>
#include <deque>
#include <vector>
#include <functional>
using namespace std;
class hNode
{
public:
friend bool operator > (hNode n1,hNode n2);
hNode(string d="",int i=0,hNode* l = NULL,hNode* r =NULL):left(l),right(r),data(d),value(i){}
hNode* left;
hNode* right;
string data; //储存的字符串
int value; //字符串出现的次数
};
bool operator > (hNode n1,hNode n2)
{
return n1.value > n2.value;
}
void main(void)
{
std::priority_queue<hNode> q;
hNode r;
r.value = 22;
}