Skip to content

Latest commit

 

History

History
77 lines (54 loc) · 1.99 KB

minmax_element.md

File metadata and controls

77 lines (54 loc) · 1.99 KB

#minmax_element

namespace std {

  template<class ForwardIterator>
  pair<ForwardIterator, ForwardIterator>
    minmax_element(ForwardIterator first, ForwardIterator last);

  template<class ForwardIterator, class Compare>
  pair<ForwardIterator, ForwardIterator>
    minmax_element(ForwardIterator first, ForwardIterator last, Compare comp);

}
  • pair[link /reference/utility/pair.md]

##概要 [first, last)の範囲において、最小要素を指すイテレータと最大要素を指すイテレータの組を取得する。

##戻り値 *i < *jもしくはcomp(*i, *j)の比較によって最小と判断された要素を指すイテレータをfirst*j < *iもしくはcomp(*j, *i)の比較によって最大と判断された要素を指すイテレータをsecondに持つpairオブジェクト。 first == lastの場合、make_pair(first, first)を返す。

##計算量 nを範囲の要素数とする場合、max(3(n / 2) - 1, 0)回の述語適用を行う。

##例

#include <cassert>
#include <algorithm>
#include <vector>

int main()
{
  std::vector<int> v = {3, 1, 4};

  auto i = std::minmax_element(v.begin(), v.end());
  assert(*i.first == 1);
  assert(*i.second == 4);

  auto j = std::minmax_element(v.begin(), v.end(), [](int a, int b) {
                                return a > b;
                              });
  assert(*j.first == 4);
  assert(*j.second == 1);
}
  • minmax_element[color ff0000]

###出力

##バージョン ###言語

  • C++11

###処理系

##実装例 http://www.boost.org/doc/libs/release/boost/algorithm/minmax_element.hpp

##参照