簡體   English   中英

自定義比較 function 為 std::sort() C++

[英]Custom compare function for std::sort() C++

很多時候我必須使用自定義比較 function進行排序。 我可以實現它,但有時我會犯錯誤。 如果它返回true ,我通常會感到困惑,那么它是否會被交換? 有人可以解釋如果它返回true會發生什么,如果它返回false會怎樣?

如果它返回true ,我通常會感到困惑,那么它是否會被交換?

這無關緊要,你不需要(不需要)知道。

唯一相關的是,當且僅當第一個參數嚴格小於第二個參數時,比較器才應該返回true (即它應該在排序之后,在排序之后)。 換句話說,它應該返回與<邏輯上相同的結果。

自定義比較 function 不會交換東西,也不會在應該進行交換時發出信號。 這是算法的工作,你不必擔心。

自定義比較 function比較事物。 這是您告訴算法哪些元素被視為“小於”其他元素的方式。 這就是它需要你告訴它的所有內容,以便它關閉 go 並完成其工作排序。

閱讀文檔/您的書以了解您使用的功能。 std::sort的要求可以免費學習:

comp :比較 function object (即滿足Compare要求的 object )如果第二個參數小於(即在第一個之前排序)則返回true

暫無
暫無

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

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