C++ 从给定范围内的向量中查找最大元素

C++ 从给定范围内的向量中查找最大元素,c++,vector,stl,C++,Vector,Stl,我曾尝试使用max函数,但它需要一个迭代器,即a.begin和a.end,但对于我的程序,我希望找到一个范围,例如从I到x。我试图阅读文档,但找不到解决方案。任何帮助都将不胜感激。谢谢。您不是在找max,而是在找 要使用它: std::vector<int> v; // fill it auto max_it = std::max_element(v.begin()+i, v.end()); max\u it这是一个迭代器,用于从中获取数字: int max_number = *m

我曾尝试使用max函数,但它需要一个迭代器,即a.begin和a.end,但对于我的程序,我希望找到一个范围,例如从I到x。我试图阅读文档,但找不到解决方案。任何帮助都将不胜感激。谢谢。

您不是在找max,而是在找

要使用它:

std::vector<int> v;
// fill it
auto max_it = std::max_element(v.begin()+i, v.end());
max\u it
这是一个迭代器,用于从中获取数字:

int max_number = *max_it;

vector提供了随机访问迭代器,因此您可以轻松地将索引转换为迭代器
项。begin()+i
如果您可以提供一些真正的代码,那就更好了。这对所有项目都是好的,它们占据了一个范围。迭代器不必只是开始和结束,它可以是介于两者之间的任何东西
int max_number = *max_it;