写类模版实现十个整数,浮点数,字符的排序
时间: 2024-03-26 07:40:50 浏览: 76
python 对10个数进行排序 (示例)
好的,以下是一个类模板的实现,可以用于对十个整数、浮点数和字符进行排序:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
template<typename T>
class Sorter {
public:
Sorter() {}
void sort(std::vector<T>& data) {
std::sort(data.begin(), data.end());
}
};
int main() {
// 整数排序
std::vector<int> int_data {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
Sorter<int> int_sorter;
int_sorter.sort(int_data);
for (const auto& item : int_data) {
std::cout << item << " ";
}
std::cout << std::endl;
// 浮点数排序
std::vector<double> double_data {3.14, 2.71, 1.41, 1.73, 2.24, 1.62, 1.0, 4.0, 5.0, 6.0};
Sorter<double> double_sorter;
double_sorter.sort(double_data);
for (const auto& item : double_data) {
std::cout << item << " ";
}
std::cout << std::endl;
// 字符排序
std::vector<char> char_data {'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};
Sorter<char> char_sorter;
char_sorter.sort(char_data);
for (const auto& item : char_data) {
std::cout << item << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个示例中,我们使用了一个类模板 `Sorter`,它接受一个类型参数 `T`,用于指定要排序的数据类型。 `Sorter` 中有一个 `sort` 函数,它接受一个 `std::vector<T>` 类型的参数,并使用标准库中的 `std::sort` 函数进行排序。
在 `main` 函数中,我们首先定义了三个不同类型的 `std::vector`,分别用于存储整数、浮点数和字符。 然后我们实例化了三个不同类型的 `Sorter` 对象,并调用它们的 `sort` 函数对数据进行排序。
注意:这里只是一个简单示例,实际应用中可能需要更多的参数和方法来实现更复杂的功能。
阅读全文