c++冒泡排序通用模板
时间: 2023-11-14 10:10:22 浏览: 93
下面是一个C++冒泡排序的通用模板:
```
template <typename T>
void bubbleSort(T arr[], int n) {
for (int i = 0; i < n - 1; i++) {
bool flag = true;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
flag = false;
}
}
if (flag) break;
}
}
```
这个模板可以对任何类型的数组进行冒泡排序,只需要将数组和数组长度作为参数传入即可。其中,`typename T`表示这是一个泛型函数,`arr[]`表示传入的数组,`n`表示数组的长度。在函数内部,使用两个嵌套的循环来实现冒泡排序,最后返回排好序的数组。
相关问题
c++容器冒泡排序通用模板
以下是一个C++容器冒泡排序的通用模板:
```
template <typename T>
void bubbleSort(vector<T>& arr) {
int n = arr.size();
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}
}
```
这个模板使用了C++的vector容器来存储待排序的元素,可以适用于各种类型的数据。它使用了冒泡排序算法,通过比较相邻的元素并交换它们的位置来实现排序。时间复杂度为O(n^2)。
阅读全文