を使用してカスタムデータのベクトルで最大値と最小値を見つける:は、私はこのようなデータ構造を持つアルゴリズム
struct Speed {
int set; //set by user
int act; //actual speed
int millis; //millis since epoch
}
vector<Speed> data;
今、私はこのベクトルを描きたいです。素敵な軸を作成するには、このベクトルのデータの最大値と最小値を探したいと思います。私はこれが好きですが、それはset
にしか基づいていないので、いつでもact
がset
より小さいか大きい場合は失敗します。グラフのY
の軸は、最小値がset, act
から最大値がset, act
の間でなければなりません。
auto max = std::max_element(begin(data), end(data),
[&](const Speed& a, const Speed& b){
return a.set() < b.set();
//how about act?
});
auto min = std::min_element(begin(data), end(data),
[&](const Speed& a, const Speed& b){
return a.set() < b.set();
//how about act?
});
**私は結果を達成するためのアルゴリズムとラムダを含まない通常のコードの記述方法を**知っている...しかし、私はオペレーターを持たずにアルゴリズム/ラムダで行うことが可能であるかを確認するに興味があります構造体のオーバーロード。
私はact
についても同じことをして、結果を比較することができます...しかし、それは私に4ループを要するでしょう!
比較をどのように動作させたいのかはっきりしていませんか?あなたはセットと行動の最小/最大をしたいですか?平均?集合と行動の合計の最小/最大? 2つの値を比較する方法はたくさんあります。 – Jonesinator
@Jonesinator私はちょうど両方の値の範囲をカバーするために私のチャートの最小値と最大値を取得したい –
あなたは2つのプロパティ(set、act)の比較関数の作成について質問していますか? –