是否有一个标准函数返回值数组的max元素的位置(而不是值)?
例如:
假设我有一个这样的数组:
sampleArray = [1, 5, 2, 9, 4, 6, 3]
我想要一个返回3的整数的函数,它告诉我这sampleArray[3]是数组中最大的值.
Ste*_*hen 111
在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;
}
小智 19
或者,写在一行(这应该作为斯蒂芬答案的评论,但我的声誉是不够的):
std::cout << std::distance(sampleArray.begin(), std::max_element(sampleArray.begin(), sampleArray.end()))
您可以使用该max_element()函数来查找最大元素的位置。
int main()
{
    int num, arr[10];
    int x, y, a, b;
    cin >> num;
    for (int i = 0; i < num; i++)
    {
        cin >> arr[i];
    }
    cout << "Max element Index: " << max_element(arr, arr + num) - arr;
    return 0;
}
| 归档时间: | 
 | 
| 查看次数: | 80520 次 | 
| 最近记录: |