数组的最大值
Max value of an array
如何使用指针找到数组的最大值?我必须使用 cpp+header 组合,并且不允许使用 []。这是代码的一部分。
主.cpp
const int NUMBERS = 30;
int main() {
int array[NUMBERS] = { 1, 3, 6, 9 };
sort(array, array + NUMBERS);
...
std::cout << max_v1(array, NUMBERS) << std::endl;
std::cout << max_v2(array, array + NUMBERS) << std::endl;
}
我得到了数组.cpp在它下面:
int max_v1(int *ptr, int size)
{
//TODO
}
int max_v2(int *firstptr, int *lastptr)
{
//TODO
}
这里有
一个小图表来帮助你。
指向第一个元素的数组指针:
|1|3|6|9|
^
ptr
取消引用以获取值:
*ptr == 1
数组指针 + 大小(点超过最后一个元素(:
|1|3|6|9|
^
ptr + size
指向最后一个元素的数组指针:
|1|3|6|9|
^
ptr + size - 1
取消引用以获取值:
*(ptr + size - 1) == 9
因此,函数 1 应如下所示:
int max_v1(int *ptr, int size)
{
return *(ptr + size - 1);
}
你能自己做第二个功能吗?
附言:确保您作为第二个参数传递的 NUMBERS 等于数组的实际大小,否则它不起作用(出于上面证明的明显原因(
相关文章:
- 使用指针从C++中的数组中获取最大值
- 在二维数组中查找最小值和最大值?
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- CUDA - 将 float3 数组的 (x,y,z) 分量的最小值/最大值分开?
- 查找包含 N 个元素的数组的最小值和最大值
- 有没有一种惯用的方法可以在不存储变换或不必要地重新计算的情况下找到数组变换的最小/最大值?
- C++ 从数组中删除一个最大值和零
- 我无法显示包含整数最大值的索引. 但我可以显示数组中整数的最高值
- 使用数组将最后一个最大值更改为第一个最小值
- 练习循环和使用循环 1 次以及如何获取数组的最大值
- 如何在给定数组的任何子数组(任何大小)中找到最大值(或最小值)?
- C++数组的最大值、最小值、平均值函数
- C ++试图找到数组中每一行的最大值
- 从二维数组中查找最小值和最大值
- 数组的最大值
- 数组函数似乎没有找到最大值
- 未初始化数组中的最小值和最大值
- 用程序在C++中找到最大静态数组大小
- 最大利润数组c++多次出售
- 创建可分配的最大字符数组