使用標準函式庫排序來對使用者定義型別進行排序
問題:
問題:可以標準嗎庫排序函數可用於根據結構中的特定欄位對使用者定義結構的向量進行排序?
struct MyType { int a; int b; }; vector<MyType> moo; // Insert data into moo... // Sort moo by the value of the 'a' field
範例:
答案:複製建構子:複製建構子(編譯器-產生或自訂)必須存在。
struct MyType { int a; int b; bool operator<(const MyType& other) const { // Implementation that compares the 'a' fields } // Copy constructor MyType(const MyType& other) : a(other.a), b(other.b) { } // Other constructors... };
實作:
使用排序函數的替代方法:bool type_is_less(const MyType& t1, const MyType& t2) { // Comparison logic } std::sort(c.begin(), c.end(), type_is_less);
以上是標準庫排序函數可以根據特定欄位對使用者定義類型進行排序嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!