#include<utility>
#include<alogrithm>
#include<iostream>
using namespace std;
int main(void)
{
int n=5;
int s[]={3,5,1,5,5};
auto r=minmax_element(s,s+n);
cout<<r.second-s<<endl;
cout<<*r.second;
return 0;
}
这是使用索引打印数组中最大元素的代码。 我想要索引最小的最大元素(在平局的情况下是第一个最大值)
答案 0 :(得分:5)
如果您只需要max元素,为什么不使用std::max_element()
函数?它会完全符合您的要求。
auto r = std::max_element(s, s+n);
cout << r-s << endl; // index of the maximum element in [s, s+n)
cout << *r << endl; // value of the maximum element in [s, s+n)