编写一个程序,用同一个函数名对几个数据进行从小到大排序,数据类型可以是整型、浮点型。用重载函数实现。请用C++实现
时间: 2024-09-23 15:07:42 浏览: 36
C语言程序设计-编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果;
5星 · 资源好评率100%
在C++中,你可以通过重载(Overload)函数来实现一个通用的排序函数,该函数可以根据传入的数据类型(int或double)来区分并进行相应的排序操作。下面是一个简单的例子:
```cpp
#include <iostream>
#include <algorithm>
// 定义重载的排序函数模板,分别处理整数和浮点数
template<typename T>
void sortArray(T arr[], int size) {
std::sort(arr, arr + size);
}
// 重载实例化,分别处理整型和浮点型数组
void sortArray(int arr[], int size) {
std::sort(arr, arr + size);
for (int i = 0; i < size - 1; ++i) {
std::cout << "Sorted Integer: " << arr[i] << " ";
}
std::cout << "\n";
}
void sortArray(double arr[], int size) {
std::sort(arr, arr + size);
for (int i = 0; i < size - 1; ++i) {
std::cout << "Sorted Double: " << arr[i] << " ";
}
std::cout << "\n";
}
int main() {
// 示例用法
int intArr[] = {5, 2, 9, 1, 7};
double floatArr[] = {4.2, 6.8, 1.5, 3.0, 5.7};
int size = sizeof(intArr) / sizeof(intArr[0]);
sortArray(intArr, size); // 对整数数组排序
size = sizeof(floatArr) / sizeof(floatArr[0]);
sortArray(floatArr, size); // 对浮点数数组排序
return 0;
}
```
在这个程序里,`sortArray`函数通过模板和特化实现了对不同类型数组的排序,并在排序后分别打印出结果。运行`main`函数会看到整型和浮点型数组按照升序排列。
阅读全文