実は,C++ 標準ライブラリで基本的なアルゴリズムは用意されている.案外これが知られてなかったり忘れられてたりするのでメモしておく. std::max_element, std::min_element min_element, max_element は,最小値,最大値のイテレータを返してくれる関数. std::vector<int> vec(100); for (size_t i = 0; i < vec.size(); ++i) { vec[i] = i; } std::random_shuffle (vec.begin(), vec.end()); // std::*_element は,イテレーターを返すので '*' で値を取得する int min = *std::min_element(vec.begin(), vec.end()); int max = *std::max_e