如何在C++中获取向量中的最大(或最小)值?
我在谷歌上看到了一些解决方案,但对我来说都没有意义:(
有人可以用简单明了的方式解释如何从矢量中获取最大值或最小值吗?假设它与数组大致相同,我错了吗?
我需要一个迭代器吗?我尝试过max_element但却一直出错?
vector<int>::const_iterator it;
it = max_element(cloud.begin(), cloud.end());
Run Code Online (Sandbox Code Playgroud)
错误:在'云'中请求成员'begin',这是非类型'int [10]'
编辑:我无法回答我自己的??? 所以我会把它放在这里......
哇,谢谢快速回复!我最终以这种方式做到了,你觉得好吗?
for (unsigned int i = 0; i < cdf.size(); i++)
if (cdf[i] < cdfMin)
cdfMin = cdf[i];
Run Code Online (Sandbox Code Playgroud)
哪里cdf是矢量.
我有一个结构体,它有一个名为id.
struct st
{
int id;
double d;
};
st s1 = {1, 5.6};
st s2 = {2, 5.7};
st s3 = {3, 4.3};
vector<st> vec;
vec.push_back(s1);
vec.push_back(s2);
vec.push_back(s3);
int max = 0;
for(int i=0; i < vec.size(); i++)
{
if(vec[i].id > max)
max = vec[i].id;
}
Run Code Online (Sandbox Code Playgroud)
如何在不使用 for 循环的情况下在这些结构的向量中找到最大 id?我看到了这个答案,但不明白。有没有更有效的使用方法*max_element?