0

いくつかのオブジェクトを保持するベクター コンテナーがあります。オブジェクトには、主に int と文字列など、さまざまな属性があります。コンテナーをさまざまな属性でソートするための STL アルゴリズムが必要です。たとえば、野球カードのコレクションに文字列である選手名と、その選手が野球を始めた年 (整数) がある場合、ベクトル コンテナーを年番号で並べ替え、後で選手名でアルファベット順に並べ替えるにはどうすればよいですか? ? 過去に教授が STL の使用を禁止したため、STL を実際に学んだことはありませんでした。

4

2 に答える 2

2

このstd::sort()関数は、ソート順をカスタマイズするために使用できる 3 番目の引数としてバイナリ述語を使用します。2 つの異なる述語を使用できます。

 std::sort(v.begin() v.end(),
    [](card const& c0, card const& c1){
        return c0.name() < c1.name();
    });

...そして他の属性についても同様です。

于 2013-09-01T16:34:04.163 に答える