如何在C++中找到向量的第m个元素和第n个元素之间的最大元素?

Res*_*ter 2 c++ vector

似乎vector的函数max_element可以用于此目的,但我不知道如何使用它.

ForwardIterator max_element (ForwardIterator first, ForwardIterator last);
Run Code Online (Sandbox Code Playgroud)

ForwardIterator的类型是什么?如何指定从第m个元素开始搜索?我如何找到max元素的索引?谢谢.

sjr*_*son 5

使用以下内容:

std::max_element(vec.begin() + m, vec.begin() + n);
Run Code Online (Sandbox Code Playgroud)

假定m < nn <= vec.size(),其中vec是一个std::vector对象.

这将返回一个迭代器到指定范围内的max-value元素,以获取相应的索引使用it - vec.begin(),其中itmax-element迭代器.