<分区>
如何在具有最小位置的 vector 中找到最大值?
例如,如果我有 vector v[5] = {2,2,1,1,1}
,输出将为 v[0]
。
<分区>
如何在具有最小位置的 vector 中找到最大值?
例如,如果我有 vector v[5] = {2,2,1,1,1}
,输出将为 v[0]
。
最佳答案
一个惯用的方法是使用 std::max_element
.这将返回一个指向最大元素的迭代器:
#include <algorithm> // for std::max_element
#include <iterator> // for std::begin, std::end
#include <iostream>
int main()
{
v[5] = {2,2,1,1,1};
auto it = std::max_element(std::begin(v), std::end(v));
std::cout << *it << std::endl;
}
如果需要元素的索引,可以使用std::distance
:
std::cout << "index " << std::distance(std::begin(v), it) << std::endl;
关于c++ - 查找数组中具有最小位置的最大元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874196/