9
1つのベクトルのみを使用する基準を使用して、2つのベクトルを同じ方法で並べ替えるにはどうすればよいですか?
1つのベクトルのみを使用する基準を使用して、2つのベクトルを同じ方法で並べ替えるにはどうすればよいですか? たとえば、同じサイズの2つのベクトルがあるとします。 vector<MyObject> vectorA; vector<int> vectorB; 次に、vectorAいくつかの比較関数を使用して並べ替えます。その並べ替えは並べ替えられましたvectorA。同じ並べ替えを適用するにはどうすればよいvectorBですか? 1つのオプションは、構造体を作成することです。 struct ExampleStruct { MyObject mo; int i; }; その後、ソートの内容が含まれているベクトルvectorAとvectorB、単一のベクターにジップアップ: // vectorC[i] is vectorA[i] and vectorB[i] combined vector<ExampleStruct> vectorC; これは理想的な解決策とは思えません。特にC ++ 11で他のオプションはありますか?