0
我想定義一個自定義priority_queue
爲priority_queue<int, vector<int>, TCOMP>
,其中int
這裏存儲在priority_queue
之外定義的向量arr
的索引。例如:在priority_queue中比較參數
vector<int> arr = {2, 5, 1, 6, 10, 3};
struct TCOMP
{
bool operator()(int index1, int index2) const
{ return arr[index1] < arr[index2]; }
}
priority_queue<int, vector<int>, TCOMP> pq;
有沒有辦法做到這一點?請注意,我不喜歡在此問題中涉及int*
。
「有沒有辦法做到這一點? - 拋開語法錯誤,你不是這麼做嗎? – WhozCraig
如果您遇到特定問題,請更好地發佈[mcve]。否則,澄清你的問題。 – juanchopanza
是的,我當然會測試它,並知道有語法錯誤。我想要的是,我怎樣才能讓priority_queue只包含向量的索引,以便索引是堆排序的。 –