声明一个类模板,利用它实现10个整数、浮点数和字符的排序。(sy4_5.cpp)
时间: 2024-02-19 16:57:46 浏览: 71
以下是示例代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
template<typename T>
class Sorter {
public:
void sort(T arr[], int size) {
std::sort(arr, arr + size);
}
};
int main() {
int intArr[] = {5, 3, 1, 4, 2, 10, 8, 6, 7, 9};
float floatArr[] = {5.1, 3.5, 1.2, 4.7, 2.3, 10.9, 8.4, 6.2, 7.8, 9.6};
char charArr[] = {'e', 'c', 'a', 'd', 'b', 'j', 'h', 'f', 'g', 'i'};
Sorter<int> intSorter;
intSorter.sort(intArr, 10);
Sorter<float> floatSorter;
floatSorter.sort(floatArr, 10);
Sorter<char> charSorter;
charSorter.sort(charArr, 10);
cout << "Sorted int array: ";
for(auto i : intArr) {
cout << i << " ";
}
cout << endl;
cout << "Sorted float array: ";
for(auto i : floatArr) {
cout << i << " ";
}
cout << endl;
cout << "Sorted char array: ";
for(auto i : charArr) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Sorted int array: 1 2 3 4 5 6 7 8 9 10
Sorted float array: 1.2 2.3 3.5 4.7 5.1 6.2 7.8 8.4 9.6 10.9
Sorted char array: a b c d e f g h i j
```
在这个示例中,我们声明了一个类模板Sorter,它有一个sort函数,接受一个数组和数组大小作为参数,使用std::sort算法对数组进行排序。
然后,我们使用Sorter类模板创建了三个不同类型的Sorter对象,分别对int、float和char类型的数组进行排序。最后,我们遍历三个数组,输出排序后的结果。
阅读全文