とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

std::min, std::max, std::min_element, std::max_element

STL―標準テンプレートライブラリによるC++プログラミング 第2版

// P116 ex05-28.cpp
#include<iostream>
#include<vector>
#include<algorithm>
int main(){
 using std::cout;
 using std::endl;
 using std::vector;
 using std::min;
 using std::max;
 using std::min_element;
 using std::max_element;
 using std::copy;
 using std::ostream_iterator;
 cout << "Illustrating the generic min, max, min_element and "
  "max_element algorithms." << endl;
 const int N = 15;
 vector<int> v(N);
 for(int i = 0; i < N; ++i)
  v[i] = i;
 std::random_shuffle(v.begin(), v.end());

 cout << '(' << *v.begin() << ", " << *(v.begin() + 1) << ')' << endl
  << "min: " << min(*v.begin(), *(v.begin() + 1)) << endl
  << "max: " << max(*v.begin(), *(v.begin() + 1)) << endl;

 copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
 cout << endl
  << "min_element: " << *min_element(v.begin(), v.end()) << endl
  << "max_element: " << *max_element(v.begin(), v.end()) << endl;
}

出力例:

Illustrating the generic min, max, min_element and max_element algorithms.
(12, 1)
min: 1
max: 12
12 1 9 2 0 11 7 3 4 6 8 5 14 13 10
min_element: 0
max_element: 14