4、题目:编写一个程序,实现对5个数据进行从小到大的排序,要求数据类型包含整型、单精度型、双精度型。用函数模板实现。
时间: 2023-04-07 16:03:20 浏览: 127
好的,这个问题可以回答。以下是一个使用函数模板实现对5个数据进行从小到大排序的示例代码:
```
#include <iostream>
using namespace std;
template <typename T>
void sort(T arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
T temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int intArr[] = {5, 3, 1, 4, 2};
float floatArr[] = {5.5, 3.3, 1.1, 4.4, 2.2};
double doubleArr[] = {5.555, 3.333, 1.111, 4.444, 2.222};
sort(intArr, 5);
sort(floatArr, 5);
sort(doubleArr, 5);
cout << "Sorted int array: ";
for (int i = 0; i < 5; i++) {
cout << intArr[i] << " ";
}
cout << endl;
cout << "Sorted float array: ";
for (int i = 0; i < 5; i++) {
cout << floatArr[i] << " ";
}
cout << endl;
cout << "Sorted double array: ";
for (int i = 0; i < 5; i++) {
cout << doubleArr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Sorted int array: 1 2 3 4 5
Sorted float array: 1.1 2.2 3.3 4.4 5.5
Sorted double array: 1.111 2.222 3.333 4.444 5.555
```
希望这个示例代码能够帮助你理解如何使用函数模板实现对不同类型数据的排序。
阅读全文