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: 指向存储最大值下标的整数指针
  • 函数首先检查数组长度是否有效。
  • 然后,它初始化 minIndexmaxIndex 为0,假设第一个元素既是最小值也是最大值。
  • 接下来,使用循环遍历数组的剩余元素。对于每个元素,它将当前元素与当前最大值和最小值进行比较。
  • 如果当前元素大于最大值,则更新 maxIndex
  • 如果当前元素小于最小值,则更新 minIndex
  • 最后,函数通过指针返回最小值和最大值的索引。

示例

main 函数中,我们定义了一个示例数组 arr 并计算其长度。然后,我们调用 findMinMaxIndex 函数来查找最小值和最大值的索引。最后,我们打印结果。

输出

运行上面的代码将产生以下输出:

最小值: 2,下标: 0
最大值: 8,下标: 5

结论

本文介绍了一个简单的C++函数,用于查找数组中的最大值和最小值及其下标。该函数简单易懂,可以轻松地集成到任何C++程序中。

C++查找数组最大值和最小值及其下标 - 附带代码示例

原文地址: https://www.cveoy.top/t/topic/M1d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录