如何解决向量包含最大值的位置
| 有人可以帮助我找到包含最大值的向量的位置。我正在使用Visual C ++。std::vector<double> array;
可以说:
array = {19.4,45.0,12.9,59.3,2.8,18.0}
最大值为59.3
。我要填充其位置。
max_location = 3;
有没有办法得到它...?请帮我。
解决方法
由于这是一项家庭作业,因此我不会发布完整的解决方案,只是一个想法。看一下
std::max_element
(例如,在这里)。它返回一个迭代器,如果不等于array.end()
,则可以得到它与array.begin()
之间的距离,array.begin()
就是您要寻找的索引。
, 好吧,让我们考虑一下。您想一次遍历向量并找到最大的值。您想跟踪该值的索引。这是一些伪代码:
index = 0
for each value in the array from 0 to end
if this is the highest value you\'ve seen so far
save value
save index of value
print index
如何用C ++做到这些?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。