C++查找数组最大值和最小值及其下标 - 附带代码示例
C++查找数组最大值和最小值及其下标
在C++中,查找数组中的最大值和最小值是一个常见的任务。本文将提供一个函数,用于查找数组中的最大值和最小值及其下标,并提供代码示例以演示其用法。
代码实现
以下是查找数组中最大值和最小值及其下标的C++代码:
#include <iostream>
using namespace std;
void findMinMaxIndex(int arr[], int len, int *minIndex, int *maxIndex) {
  if (len <= 0) {
    return;
  }
  *minIndex = 0;
  *maxIndex = 0;
  for (int i = 1; i < len; i++) {
    if (arr[i] > arr[*maxIndex]) {
      *maxIndex = i;
    } else if (arr[i] < arr[*minIndex]) {
      *minIndex = i;
    }
  }
}
int main() {
  int arr[] = {2, 4, 4, 5, 7, 8, 8, 2};
  int len = sizeof(arr) / sizeof(arr[0]);
  int minIndex, maxIndex;
  findMinMaxIndex(arr, len, &minIndex, &maxIndex);
  cout << '最小值: ' << arr[minIndex] << ',下标: ' << minIndex << endl;
  cout << '最大值: ' << arr[maxIndex] << ',下标: ' << maxIndex << endl;
  return 0;
}
代码说明
findMinMaxIndex函数接受四个参数:arr: 整型数组len: 数组长度minIndex: 指向存储最小值下标的整数指针maxIndex: 指向存储最大值下标的整数指针
- 函数首先检查数组长度是否有效。
 - 然后,它初始化 
minIndex和maxIndex为0,假设第一个元素既是最小值也是最大值。 - 接下来,使用循环遍历数组的剩余元素。对于每个元素,它将当前元素与当前最大值和最小值进行比较。
 - 如果当前元素大于最大值,则更新 
maxIndex。 - 如果当前元素小于最小值,则更新 
minIndex。 - 最后,函数通过指针返回最小值和最大值的索引。
 
示例
在 main 函数中,我们定义了一个示例数组 arr 并计算其长度。然后,我们调用 findMinMaxIndex 函数来查找最小值和最大值的索引。最后,我们打印结果。
输出
运行上面的代码将产生以下输出:
最小值: 2,下标: 0
最大值: 8,下标: 5
结论
本文介绍了一个简单的C++函数,用于查找数组中的最大值和最小值及其下标。该函数简单易懂,可以轻松地集成到任何C++程序中。
原文地址: https://www.cveoy.top/t/topic/M1d 著作权归作者所有。请勿转载和采集!