」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 C++ 中使用自訂比較器聲明優先權佇列?

如何在 C++ 中使用自訂比較器聲明優先權佇列?

發佈於2024-11-15
瀏覽:808

How to Declare a Priority Queue with a Custom Comparator in C  ?

在C 中聲明具有自訂比較器的優先權佇列

在C 中,當嘗試聲明使用自訂比較器的優先權佇列時,正確定義比較器至關重要。當比較器未宣告為類別或獨立函數時,會出現錯誤「Compare」不是型別名稱。

要解決此問題,您可以為比較器定義一個類別並重載operator()它,如下例所示:

class Compare
{
public:
    bool operator() (Node a, Node b)
    {
        // Comparator logic
    }
};

或者,您可以使用 std::function 來定義比較器,如下所示:

bool Compare(Node a, Node b)
{
    // Comparator logic
}

std::priority_queue, std::function> pq(Compare);

遵循這些方法,您可以有效地宣告優先級在C 中使用自訂比較器進行佇列。

版本聲明 本文轉載於:1729743201如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3