ベクトル内のユーザー定義型を特定の変数で並べ替える
ユーザー定義型のベクトルを特定の変数で並べ替えるにはには、標準ライブラリ ソートを使用するか、独自のソート関数を実装するかの 2 つのオプションがあります。
標準ライブラリ ソートを使用する
標準ライブラリ ソートは、次の場合に使用できます。ユーザー定義型は、「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 サイトの他の関連記事を参照してください。