std::min
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <algorithm> 中定义
|
||
template< class T > const T& min( const T& a, const T& b ); |
(1) | |
template< class T, class Compare > const T& min( const T& a, const T& b, Compare comp ); |
(2) | |
template< class T > T min( std::initializer_list<T> ilist); |
(3) | (C++11 起) |
template< class T, class Compare > T min( std::initializer_list<T> ilist, Compare comp ); |
(4) | (C++11 起) |
返回两个值中的较小者的.
3-4) 原文:
Returns the smaller of the two values.
返回最小的值初始化列表中的
ilist
.原文:
Returns the smallest of the values in initializer list
ilist
.(1,3)版本使用operator<的值进行比较,(2,4)版本使用给定的比较函数
comp
原文:
The (1,3) versions use operator< to compare the values, the (2,4) versions use the given comparison function
comp
.目录 |
[编辑] 参数
a, b | - | 值进行比较
|
ilist | - | 初始化列表中的值进行比较
原文: initializer list with the values to compare |
cmp | - | comparison function which returns true if if a is less than b . The signature of the comparison function should be equivalent to the following: bool cmp(const Type1 &a, const Type2 &b); The signature does not need to have const &, but the function must not modify the objects passed to it. |
类型要求 | ||
-T 必须满足 LessThanComparable 的要求。 for the overloads (1) and (3)
| ||
-T 必须满足 CopyConstructible 的要求。 for the overloads (3) and (4)
|
[编辑] 返回值
1-2)较小的
3-4) a
和b
。如果这两个值是相等的,返回a
.原文:
The smaller of
a
and b
. If the values are equivalent, returns a
.ilist
中的最小值。如果有多个值相当于最小,最左边的值返回.原文:
The smallest value in
ilist
. If several values are equivalent to the smallest, returns the leftmost such value.[编辑] 复杂度
1-2)常数
3-4) 线性
ilist.size()
[编辑] 可能的实现
版本一 |
---|
template<class T> const T& min(const T& a, const T& b) { return (a < b) ? a : b; } |
版本二 |
template<class T, class Compare> const T& min(const T& a, const T& b, Compare comp) { return (comp(a, b)) ? a : b; } |
版本三 |
template<class T> T min( std::initializer_list<T> ilist) { return *std::min_element(ilist.begin(), ilist.end()); } |
版本四 |
template<class T, class Compare> T min(std::initializer_list<T> ilist, Compare comp) { return *std::min_element(ilist.begin(), ilist.end(), comp); } |
[编辑] 示例
输出:
smaller of 1 and 9999: 1 smaller of 'a' and 'b': a smaller of 3.5 and 2.5: 2.5
本章尚未完成 |
[编辑] 另请参阅
返回两个元素中的较大者 (函数模板) | |
(C++11) |
返回两个元素中的的较大者和较小者 (函数模板) |
返回区间内的最小元素 (函数模板) |