ベクトル内のユーザー定義型を特定の変数で並べ替える
ユーザー定義型のベクトルを特定の変数で並べ替えるには、標準ライブラリの並べ替えを使用するか、独自の並べ替えを実装するかの 2 つのオプションがあります。 function.
標準ライブラリ ソートの使用
ユーザー定義型が「bool 演算子 < (const Type& other)」を実装している場合、標準ライブラリ ソートを使用できます。 const" とコピー コンストラクター。比較演算子は、型を比較する意味のある方法を定義する必要があります。以下に例を示します。
struct MyType { int a; int b; bool operator<(const MyType& other) const { // Compare types based on a specific variable (e.g., a) return a < other.a; } };
カスタム ソート関数の使用
代わりに、sort() の 3 番目の引数としてカスタム順序付け関数またはファンクターを指定することもできます。比較演算子の実装について。この関数は、必要な変数に基づいて型を比較する必要があります。例:
bool type_is_less(const MyType& t1, const MyType& t2) { return t1.a < t2.a; } std::sort(moo.begin(), moo.end(), type_is_less);
このアプローチは、次の場合に役立ちます。
以上がユーザー定義型のベクトルを特定の変数でソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。