[英]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.