📅  最后修改于: 2023-12-03 15:10:21.103000             🧑  作者: Mango
在 C++ STL(Standard Template Library)中,我们可以使用 std::max_element
函数来查找一个数组中的最大元素。该函数返回指向最大元素的迭代器。
template<class ForwardIt>
ForwardIt max_element(ForwardIt first, ForwardIt last);
该函数接受两个迭代器 first
和 last
,表示查找的范围。返回值是指向最大元素的迭代器。
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<int> v{ 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };
auto result = std::max_element(std::begin(v), std::end(v));
std::cout << "The maximum element is " << *result << " at position " << std::distance(std::begin(v), result) << std::endl;
return 0;
}
上述代码中,我们创建一个 std::vector<int>
,然后使用 std::max_element
函数查找其中的最大元素。最大元素是 9,它位于位置 5。
输出结果为:
The maximum element is 9 at position 5
first
应该指向数组的第一个元素,而 last
应该指向最后一个元素的下一个位置。在 C++ STL 中,查找数组中的最大元素非常简单,只需使用 std::max_element
函数即可。该函数返回指向最大元素的迭代器,使我们不必手动搜索整个数组来找到最大的元素。