0
のベクトルで最小のインデックスと最大要素を検索すると、次のコードを考えてみてください。このコードを使用ユーザ定義構造体
struct ColorSpacePoint
{
int X;
int Y;
}
std::vector<ColorSpacePoint> v{...}; // Initialized with data
auto minMaxY = std::minmax_element(std::begin(v), std::end(v),
[](ColorSpacePoint const& lhs, ColorSpacePoint const& rhs)
{
return lhs.Y < rhs.Y;
});
std::pair<ColorSpacePoint, ColorSpacePoint> result =
std::make_pair(ColorSpacePoint{minMaxY.first->X, minMaxY.first->Y},
ColorSpacePoint{minMaxY.second->X, minMaxY.second->Y});
を、結果は、最小と最大の要素を含んでいます。どのように私はまた、STDを取得するためのコードを変更することができます::インデックスのペア:
std::pair<int, int> resultIndices = ... ;
Protip:自分のカスタム 'pair':' ColorSpacePoint'の代わりに['pair'](http://en.cppreference.com/w/cpp/utility/pair)を使うと、すでに比較があります['minmax'](http://en.cppreference.com/w/cpp/algorithm/minmax)を使用できるように定義された演算子を使用して、比較演算子を定義し、' minmax'を使用します。 –