C++模板实现通用冒泡排序算法
冒泡排序算法是一种简单的排序算法,通过多次遍历来逐步将数据排序。以下是使用C++编写的函数模板,适用于多种数据类型,如int、float、double等。```cpp
template
void bubbleSort(T arr[], int n) {
for (int i = 0; i < n>
for (int j = 0; j < n>
if (arr[j] > arr[j + 1]) {
std::swap(arr[j], arr[j + 1]);
}
}
}
}
**代码解析**:
1. `template ` 声明了一个通用模板类型`T`,使函数可以应用于多种数据类型。
2. **外层循环**遍历所有元素,每轮将最大的元素移动到右侧。
3. **内层循环**比较相邻元素,若顺序不正确,则交换它们的位置。
4. `std::swap`交换两个元素,确保数组最终有序。
**用法示例**:
```cpp
int arr[] = {5, 3, 8, 4, 2};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
14.28KB
文件大小:
评论区