當我使用一個優先級隊列,這是代碼:優先級隊列自定義比較分段故障推
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.
我不知道比較器是否正確,我真的不知道如何創建一個自定義比較河我試圖按每個狀態的第一個數字排序優先級隊列。
在此先感謝。
存儲載體的優先級隊列是不是最好的主意 –
我需要存儲的一維或多維矢量。任何其他想法? –