.编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板。
时间: 2023-12-03 22:45:00 浏览: 103
汇编程序 求数组元素的最大值和最小值
4星 · 用户满意度95%
以下是一个使用函数模板求任意类型数组中最大元素和最小元素的示例程序:
```cpp
#include <iostream>
template<typename T>
T getMax(T arr[], int size) {
T maxVal = arr[0];
for(int i = 1; i < size; ++i) {
if(arr[i] > maxVal) {
maxVal = arr[i];
}
}
return maxVal;
}
template<typename T>
T getMin(T arr[], int size) {
T minVal = arr[0];
for(int i = 1; i < size; ++i) {
if(arr[i] < minVal) {
minVal = arr[i];
}
}
return minVal;
}
int main() {
int intArr[] = {5, 2, 7, 1, 9};
double doubleArr[] = {3.2, 1.1, 4.7, 2.5, 0.9};
int intMax = getMax(intArr, 5);
int intMin = getMin(intArr, 5);
std::cout << "Int array max value: " << intMax << std::endl;
std::cout << "Int array min value: " << intMin << std::endl;
double doubleMax = getMax(doubleArr, 5);
double doubleMin = getMin(doubleArr, 5);
std::cout << "Double array max value: " << doubleMax << std::endl;
std::cout << "Double array min value: " << doubleMin << std::endl;
return 0;
}
```
输出结果:
```
Int array max value: 9
Int array min value: 1
Double array max value: 4.7
Double array min value: 0.9
```
在这个示例程序中,我们使用了两个函数模板 `getMax` 和 `getMin` 来分别求出任意类型数组的最大值和最小值。函数模板的声明使用了 `<typename T>`,表示这个函数模板是用来处理任意类型 T 的数据的。在函数中使用了类型 T 来声明变量,表示这个变量可以是任意类型的。在函数调用时,编译器会自动根据函数参数的类型来确定 T 的类型。
阅读全文