簡體   English   中英

優先隊列比較器[C++]

[英]Comparator for Priority Queue[C++]

我試圖了解我的比較器應該為向量的優先級隊列返回什么,我想要一個基於第三個元素的最小堆。

在搜索中,我發現比較器看起來像:

bool operator()(vector<int>a, vector<int> b)
{
return a[2]>b[2];
}

為什么不a[2]<b[2]

最大堆是一個向量或二叉樹,其中每個節點中包含的數據大於或等於其子節點的數據,因此葉子在隊列中具有最小值。 在內部,優先級隊列表示為最大堆並進行排序,以便可以首先訪問具有最大值的節點。 如果要對元素a[2]<b[2]進行排序,可以覆蓋比較器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM