找到存储最小值的元素

时间:2014-02-16 16:40:29

标签: c++ algorithm

我有一个非常微不足道的问题,但我在互联网上找不到任何内容。 我需要在存储最小值的一维数组中找到索引。 到目前为止我发现的所有东西只告诉你最小值的值。 我尝试的代码是:

int min_element_loc (double a[]){
double first, last;
first = a[0];
last = a[255];
for(int i = 0;i<256;i++)
{
    if (first==last) return i;
    double smallest = first;
      while (++first!=last)
          smallest=first;
      return i;
}
return 0;
}

(数组中有256个元素:我知道它很乱,但它永远不会改变,程序不是最终版本)

由于

1 个答案:

答案 0 :(得分:3)

使用算法标题中的std :: min_element。

#include <vector>
#include <algorithm>
#include <iostream>

int main() {

    std::vector<double> vals = { 1.0, 2.0, 0.5, 4.2 };

    auto iter = std::min_element(vals.begin(), vals.end());
    auto idx = iter - vals.begin();

    std::cout << idx << "\n";

    return 0;
}