Существует ли стандартная функция, которая возвращается, положение (не оценивают) макс. элемента массива значений?
Например:
Предположим, что у меня есть массив как это:
sampleArray = [1, 5, 2, 9, 4, 6, 3]
Я хочу функцию, которая возвращает целое число 3, который говорит мне это sampleArray[3]
самое большое значение в массиве.
В STL std :: max_element
предоставляет итератор (который можно использовать для получения индекса с помощью std :: distance
, если вы действительно этого хотите).
int main(int argc, char** argv) {
int A[4] = {0, 2, 3, 1};
const int N = sizeof(A) / sizeof(int);
cout << "Index of max element: "
<< distance(A, max_element(A, A + N))
<< endl;
return 0;
}
std :: max_element
принимает два итератора, ограничивающих последовательность, и возвращает итератор, указывающий на максимальный элемент в этой последовательности. Вы можете дополнительно передать предикат функции, которая определяет порядок элементов.
STL имеет функцию max_elements. Вот пример: http://www.cplusplus.com/reference/algorithm/max_element/