设计一个类模板,实现任意类型数组的排序(升序),至少包括整型、字符、字符串类型。
时间: 2024-03-13 12:44:33 浏览: 32
好的,我可以帮您设计一个类模板,实现任意类型数组的排序(升序),以下是示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
template <typename T>
class SortArray {
public:
SortArray(T* arr, int size) : m_arr(arr), m_size(size) {}
void sort() {
for (int i = 0; i < m_size - 1; i++) {
for (int j = i + 1; j < m_size; j++) {
if (m_arr[i] > m_arr[j]) {
T temp = m_arr[i];
m_arr[i] = m_arr[j];
m_arr[j] = temp;
}
}
}
}
void print() {
for (int i = 0; i < m_size; i++) {
cout << m_arr[i] << " ";
}
cout << endl;
}
private:
T* m_arr;
int m_size;
};
int main() {
int intArr[] = { 5, 2, 3, 1, 4 };
SortArray<int> intSort(intArr, 5);
intSort.sort();
intSort.print();
char charArr[] = { 'c', 'a', 'e', 'd', 'b' };
SortArray<char> charSort(charArr, 5);
charSort.sort();
charSort.print();
string strArr[] = { "orange", "apple", "banana", "grape", "pear" };
SortArray<string> strSort(strArr, 5);
strSort.sort();
strSort.print();
return 0;
}
```
以上代码中,我们定义了一个 `SortArray` 类模板,它包括一个数组和数组的大小。使用类模板可以支持任意类型的数组,包括整型、字符和字符串类型。`sort` 函数使用冒泡排序算法实现数组的排序,`print` 函数用于输出排序后的数组。在 `main` 函数中我们使用了三次 `SortArray` 类模板,分别对不同类型的数组进行排序,并输出排序后的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)