最大值包含的向量的位置

时间:2011-06-18 04:21:39

标签: visual-c++ vector arraylist

有人可以帮助我找到最大值包含的向量的位置。我正在使用visual C ++。

std::vector<double> array;

让我们说:

array = {19.4 , 45.0 ,12.9 ,59.3 , 2.8 ,18.0}

最大值为59.3。我想填充它的位置。

max_location = 3;

有没有办法得到它......?请帮我。

2 个答案:

答案 0 :(得分:0)

好的,让我们考虑一下。你想逐个浏览矢量并找到最大值;你想跟踪价值的指数。这是一些伪代码:

 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 ++做这些?

答案 1 :(得分:0)

由于这是一个家庭作业,我不会发布一个完整的解决方案,只是一个想法。请查看std::max_element(例如here)。它返回一个迭代器,如果它不等于你的array.end(),你可以得到它与array.begin()之间的距离,这将是你正在寻找的索引。