priority_queue 可以定义STL中的优先队列,但是优先队列在应用于自己定义的类型时需要重载<运算符,或者通过仿函数来定义比较方法,在定义比较方法的过程中,比较大的坑是STL中对于参数类型有所要求,即两个比较的对象必须都被const 修饰,因此必须定义为
struct cmp{
bool operator (const Object& o1, const Object& o2){
return 。。。
}
};
或者(此处bool返回类型可以省去)
operator < (const Object &o) const{
return ...
}
其中第二个const保证了this 指针中的比较对象是常量。。。还是渣,浪费了很多时间在这上面
仰望大牛的小清新 http://www.cnblogs.com/luruiyuan/