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只包含向量的索引,以便索引是堆排序的。 –