C++ 算法 max()

2025 年 1 月 12 日 | 3 分钟阅读

C++ 算法 max() 函数可以通过以下 3 种方式使用

  • 它比较传入参数的两个值,并返回其中较大的一个。如果两个值相等,则返回第一个。
  • 它还使用用户定义的二元函数比较两个值,然后将其作为参数传入 std::max()。
  • 它还用于查找给定列表中的最大元素,如果列表中有多个最大元素,则返回第一个。

元素使用运算符 < 进行第一种版本比较,或者使用给定的二元比较函数 comp 进行第二种版本比较。

语法

参数

a:要比较的第一个值。

b:要比较的第二个值。

comp:一个用户定义的二元谓词函数,它接受两个参数并返回 true(如果两个参数顺序正确)或 false(否则)。它遵循严格的弱排序来排列元素。

il:一个包含要比较值的 initializer_list。

返回值

它返回 a 和 b 中的最大值。如果值相等,则返回 a。

返回 il 中的最大值。如果多个值与最大值相等,则返回最左侧的那个值。

复杂度

复杂度比比较的元素数量少一个,呈线性关系。

异常

如果任何比较抛出异常,此函数将抛出异常。

注意:无效参数会导致未定义行为。

示例 1

我们来看一个简单的示例来演示 max() 的使用

输出

larger of 1 and 9999: 9999
larger of 'a', and 'b': b
longest of "foo", "bar", and "hello": hello

示例 2

我们再来看一个简单的示例来演示使用默认版本 max() 的使用

输出

max(1,2)==2
max(2,1)==2
max('a','z')==z
max(3.14,2.73)==3.14

示例 3

我们再来看一个简单的示例来演示使用比较函数 max() 的使用

输出

28
7

示例 4

我们来看一个简单的示例来查找列表中的最大元素

输出

Maximum element is: 10