- 527 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 00:29:29 ]
- 昇順にソート済みの vector<int> v があり、その中から
int min 以上、int max 以下の値を列挙したいとします。 これがmin以上max未満ということなら、次のようにすればよいと思いますが、 vector<int>::iterator imin = upper_bound(v.begin(), v.end(), min); vector<int>::iterator imax = lower_bound(v.begin(), v.end(), max); for (vector<int>::iterator i = b; i != e; ++i) 「max 以下」となると、どうするのがスマートでしょうか? for の前に if (imax != v.end()) { ++imax; } とか書くのはちょっとベタすぎる気がするんですけど、そんなものですかね。
|

|