3. 编写一个程序,用同一个函数名对几个数据进行从小到大排序,数据类型可以是整型、浮点型。用函数模版实现。
时间: 2024-09-19 20:17:08 浏览: 53
02-数组名做函数参数.pptx
在C++中,你可以通过函数模板(Function Templates)实现一个通用的排序函数,该函数能够接受不同类型的数据(如整型和浮点型)并按照升序排列。函数模板是一种泛型编程的概念,它允许你在编写函数时指定类型参数,而不是具体的类型。
下面是一个简单的示例,展示了如何创建一个模板函数来实现排序:
```cpp
#include <iostream>
#include <algorithm> // 包含sort算法
// 函数模板,T可以是int或float
template<typename T>
void sortArray(T arr[], int size) {
std::sort(arr, arr + size); // 使用C++标准库的sort函数
}
// 示例用法:
int intArr[] = {4, 2, 7, 1, 5};
float floatArr[] = {3.1, 1.8, 2.6, 4.9, 1.5};
int main() {
int n = sizeof(intArr) / sizeof(intArr[0]);
sortArray<int>(intArr, n);
for (int i : intArr) {
std::cout << i << " ";
}
std::cout << "\n";
n = sizeof(floatArr) / sizeof(floatArr[0]);
sortArray<float>(floatArr, n);
for (float f : floatArr) {
std::cout << f << " ";
}
std::cout << "\n";
return 0;
}
```
在这个例子中,`sortArray`函数模板接收一个类型为`T`的数组和其大小作为输入,然后直接使用C++标准库的`std::sort`函数进行排序,无需关心内部的具体数据类型。在`main`函数中,我们分别传递整数数组和浮点数数组给这个模板函数。
阅读全文