编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板
时间: 2024-05-05 16:21:20 浏览: 136
计算二维数组周边元素之和
以下是求任意类型数组中最大元素和最小元素的函数模板的实现:
```
#include <iostream>
template <typename T>
void findMinMax(T arr[], int size, T& min, T& max){
min = arr[0];
max = arr[0];
for(int i=1; i<size; i++){
if(arr[i] < min){
min = arr[i];
}
if(arr[i] > max){
max = arr[i];
}
}
}
int main(){
int intArr[] = {3, 5, 1, 9, 8};
float floatArr[] = {3.2, 5.8, 1.4, 9.6, 8.1};
int intMin, intMax;
float floatMin, floatMax;
findMinMax(intArr, 5, intMin, intMax);
findMinMax(floatArr, 5, floatMin, floatMax);
std::cout << "Int array min: " << intMin << " max: " << intMax << std::endl;
std::cout << "Float array min: " << floatMin << " max: " << floatMax << std::endl;
return 0;
}
```
这里定义了一个函数模板 `findMinMax`,它接受一个任意类型的数组、数组大小以及两个引用参数用于存储最小值和最大值。在函数中,使用循环遍历数组,依次比较每个元素并更新最小值和最大值。最后将最小值和最大值存储在引用参数中返回。在主函数中,我们传递了一个整型数组和一个浮点型数组,并输出它们的最小值和最大值。
阅读全文