编写程序,利用指针方法求数组的最大值和最小值
时间: 2024-10-14 09:14:17 浏览: 45
在C++中,可以编写一个函数,使用两个指针来遍历数组,其中一个指向最大值,另一个指向最小值。下面是一个基本的示例:
```cpp
#include <iostream>
// 定义一个函数,传入数组首地址和长度
void findMinMax(int* arr, int size, int& min, int& max) {
if (size <= 0) { // 检查数组是否为空
std::cout << "Array is empty!" << std::endl;
return;
}
// 初始化最大值和最小值为数组的第一个元素
min = max = arr[0];
// 使用两个指针遍历数组
int* ptr_min = &arr[0];
int* ptr_max = &arr[0];
for (int i = 1; i < size; ++i) {
// 如果当前元素小于最小值,更新min指针
if (*ptr_min > arr[i]) {
ptr_min = &arr[i];
}
// 如果当前元素大于最大值,更新max指针
if (*ptr_max < arr[i]) {
ptr_max = &arr[i];
}
}
// 最后,min和max分别指向数组中的最小值和最大值
min = *ptr_min;
max = *ptr_max;
}
int main() {
int arr[] = {5, 10, 1, 8, 15};
int min, max;
findMinMax(arr, sizeof(arr) / sizeof(arr[0]), min, max);
std::cout << "Minimum value is: " << min << std::endl;
std::cout << "Maximum value is: " << max << std::endl;
return 0;
}
```
这个程序会在`main`函数中找到给定整数数组中的最小值和最大值,并打印结果。
阅读全文