代码之家  ›  专栏  ›  技术社区  ›  Coder117

如何递归查找C++中的max元素的索引?

  •  0
  • Coder117  · 技术社区  · 6 年前

    获得最大值似乎并不难:

    int getMax(int arr[], int size) {
        if(size == 1) {
            return arr[0]
        }
        return max(arr[size - 1], getMaxIndex(arr, size - 1));
    }
    

    1 回复  |  直到 6 年前
        1
  •  5
  •   Jarod42    6 年前

    你可以这样做:

    int getMaxIndex(int arr[], int size) {
        if (size == 1) {
            return 0;
        }
        const auto recMaxIndex = getMaxIndex(arr, size - 1);
        if (arr[recMaxIndex] < arr[size - 1]) {
            return size - 1;
        } else {
            return recMaxIndex;
        }
    }