当我使用一个优先级队列,这是代码:优先级队列自定义比较分段故障推
typedef vector<int> state;
typedef bool (*comp)(const state&, const state&);
typedef priority_queue<state, vector<state>, comp> prioq;
prioq prio;
我使用一个自定义的比较,即定义如下:
bool comparator (const state& a , const state& b) {
return a[0] < b[0];
}
我可以推第一个状态,但是当我尝试推第二个时,我得到一个分段错误:11.
我不知道比较器是否正确,我真的不知道如何创建一个自定义比较河我试图按每个状态的第一个数字排序优先级队列。
在此先感谢。
存储载体的优先级队列是不是最好的主意 –
我需要存储的一维或多维矢量。任何其他想法? –