类模板冒泡排序怎么写
时间: 2024-04-19 19:21:30 浏览: 16
类模板冒泡排序是一种常见的排序算法,它可以对不同类型的数据进行排序。下面是一个示例代码,演示了如何使用类模板实现冒泡排序:
```cpp
#include <iostream>
template <typename T>
class BubbleSort {
public:
void sort(T arr[], int size) {
for (int i = 0; i < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
T temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
};
int main() {
int intArr[] = {5, 2, 8, 1, 9};
BubbleSort<int> intBubbleSort;
intBubbleSort.sort(intArr, 5);
std::cout << "Sorted array (int): ";
for (int i = 0; i < 5; i++) {
std::cout << intArr[i] << " ";
}
std::cout << std::endl;
double doubleArr[] = {3.14, 1.23, 2.71, 0.99};
BubbleSort<double> doubleBubbleSort;
doubleBubbleSort.sort(doubleArr, 4);
std::cout << "Sorted array (double): ";
for (int i = 0; i < 4; i++) {
std::cout << doubleArr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码中,我们定义了一个类模板 `BubbleSort`,它有一个 `sort` 方法用于对数组进行排序。在 `sort` 方法中,我们使用冒泡排序算法来实现排序。在 `main` 函数中,我们分别创建了一个 `BubbleSort<int>` 和 `BubbleSort<double>` 的对象,并调用 `sort` 方法对不同类型的数组进行排序。