SGI

min_element

类别: 算法 组件类型: 函数

原型

Min_element是一个重载的名称;实际上有两个min_element函数。
template <class ForwardIterator>
ForwardIterator min_element(ForwardIterator first, ForwardIterator last);

template <class ForwardIterator, class BinaryPredicate>
ForwardIterator min_element(ForwardIterator first, ForwardIterator last,
                            BinaryPredicate comp);

描述

Min_element在范围中查找最小的元素[first, last). 它返回第一个迭代器i[first, last)这样范围内没有其他迭代器[first, last)指向比*i更小的值。返回值是last[first, last)当且仅当

是一个空范围。min_element这两个版本的在如何定义一个元素是否小于另一个方面有所不同。第一个版本使用operator<比较对象,第二个版本使用 函数对象.

compmin_element比较对象。i[first, last)第一个版本的返回第一个迭代器[first, last), 这样,对于每个迭代器j*j < *ii[first, last)第一个版本的返回第一个迭代器[first, last), falsej*j < *i.

. 第二个版本返回第一个迭代器

comp(*j, *i)

定义

在标准头文件 algorithm 中定义,以及在非标准向后兼容头文件 algo.h 中定义。前向迭代器 的模型。

's 值类型可转换为

先决条件

是一个有效的范围。[first, last)复杂度线性。如果是一个空范围,则为零比较,否则正好

(last - first) - 1

int main()
{
  list<int> L;
  generate_n(front_inserter(L), 1000, rand);
  
  list<int>::const_iterator it = min_element(L.begin(), L.end());
  cout << "The smallest element is " << *it << endl;
}

比较。

示例

注释, 另请参见, minmaxmax_element, , 可比较大小,
[Silicon Surf] [STL Home]
sort nth_element