c++中编写一个求任意类型数组中最大元素和最小元素的程序,要求将求 最大元素和最小元素的函数设计成函数模板。
时间: 2024-05-06 09:16:32 浏览: 251
以下是一个求任意类型数组中最大元素和最小元素的程序,使用了函数模板:
```c++
#include <iostream>
template <typename T>
T max_element(T arr[], int size) {
T max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
template <typename T>
T min_element(T arr[], int size) {
T min = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int main() {
int int_arr[] = {1, 2, 3, 4, 5};
double double_arr[] = {1.1, 2.2, 3.3, 4.4, 5.5};
char char_arr[] = {'a', 'b', 'c', 'd', 'e'};
std::cout << "Max element in int_arr: " << max_element(int_arr, 5) << std::endl;
std::cout << "Min element in int_arr: " << min_element(int_arr, 5) << std::endl;
std::cout << "Max element in double_arr: " << max_element(double_arr, 5) << std::endl;
std::cout << "Min element in double_arr: " << min_element(double_arr, 5) << std::endl;
std::cout << "Max element in char_arr: " << max_element(char_arr, 5) << std::endl;
std::cout << "Min element in char_arr: " << min_element(char_arr, 5) << std::endl;
return 0;
}
```
在上面的程序中,`max_element` 和 `min_element` 都是函数模板,它们可以接受任意类型的数组作为参数。在函数内部,我们使用一个 `for` 循环来遍历数组,找到其中的最大元素和最小元素,并将它们返回。在 `main` 函数中,我们使用不同的类型数组来测试这两个函数。
阅读全文