c++ - 查找数组中具有最小位置的最大元素

标签 c++ vector max minimum

<分区>

如何在具有最小位置的 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/

相关文章:

c++ - 对于采用可复制和可移动类的访问者,应该有多少重载?

c++ - 查找关于成对 vector 的条件

python - Pygame Sprite 匀速移动

c++ - 显示基于 1 种类型的结构 vector 值

c++ - 重载运算符中的段错误 =

c++ - 请解释此链接错误 : referenced in section . rodata

c++ - 如何在不强制最终用户链接这些库的情况下在静态库中使用共享库?

matlab - 在 MATLAB 中创建最大值索引矩阵

c++ - 查找具有 N 个元素的数组的最小值和最大值

highcharts - Highchart 轴最大具有多个轴