如何在C++中递归地找到max元素的索引?
How to recursively find the index of a max element in C++?
获得最大值似乎并不难:
int getMax(int arr[], int size) {
if(size == 1) {
return arr[0]
}
return max(arr[size - 1], getMaxIndex(arr, size - 1));
}
但是我怎样才能找到它所在位置的索引呢?如果我创建一个计数变量,只要我递归调用它就会被擦除。我在网上找不到任何地方有人只用数组和大小参数递归地执行此操作。感谢您的任何帮助。
你可以这样做:
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;
}
}
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 从自定义类获取对象向量中的 max 元素
- 如何在C++中递归地找到max元素的索引?
- 删除 max 并添加新元素 c++ std::make_heap 时进行单个'Heapify'调用
- 如何在标准库中更改堆C++ max 元素
- 如何计算并返回指向max元素的指针的值?C++
- C++在数组中查找max(按行)和min(按列)元素
- Max和Min用相同的元素堆
- 如何在 C++ 中查找向量的第 m 和第 n 个元素之间的 max 元素