どうも、ちょげ(@chogetarou)です。
Vectorの最小値のインデックスを取得する方法を紹介します。
方法

Vectorの最小値を取得するには、std::distance()
とstd::min_element()
を使います。
まず、std::distance()
を呼び出します。
std::distance()
の第1引数にVectorのbegin()、第2引数にstd::min_element()
を指定します。
そして、*
minstd::
_element()
の第1引数にVectorのbegin()、第2引数にVectorのend()を指定します。
//vect=任意のVector
std::distance(vect.begin(), std::min_element(vect.begin(), vect.end()));
上記のstd::distance()
は、begin()とend()を呼び出したVectorの最小値のインデックスを取得します。
使用例
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<int> num = { 1, 2, -10, 3, 4, 5 };
int minIndex = distance(num.begin(), min_element(num.begin(), num.end()));
cout << minIndex;
}
出力:
2
コメント