c++冒泡排序函数模板
时间: 2024-05-14 15:11:30 浏览: 131
C++ 冒泡排序函数模板可以如下定义:
```
template <typename T>
void bubble_sort(T arr[], int n) {
for (int i = 0; i < n - i; j++) {
if (arr[j] > arr[j + 1]) {
std::swap(arr[j], arr[j + 1]);
}
}
}
}
```
其中,模板参数 `T` 表示数据类型,参数 `arr` 表示需要排序的数组,参数 `n` 表示数组的长度。
冒泡排序是一种简单的排序算法,它的基本思想是:将相邻的两个元素进行比较和交换,使得每次循环结束后最大(或最小)的元素“浮”到数组的最后一位,然后再从头开始进行下一轮比较和交换,直到排序完成。
相关问题
冒泡排序函数模板c++
以下是一个使用模板的冒泡排序函数的C++示例:
```cpp
#include <iostream>
using namespace std;
template <typename T>
void bubbleSort(T arr[], int n) {
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]);
}
}
}
}
int main() {
int intArr[] = {64, 34, 25, 12, 22, 11, 90};
int intArrSize = sizeof(intArr) / sizeof(int);
bubbleSort(intArr, intArrSize);
cout << "Sorted int array: ";
for (int i = 0; i < intArrSize; i++) {
cout << intArr[i] << " ";
}
cout << endl;
double doubleArr[] = {3.14, 2.71, 1.618, 0.618};
int doubleArrSize = sizeof(doubleArr) / sizeof(double);
bubbleSort(doubleArr, doubleArrSize);
cout << "Sorted double array: ";
for (int i = 0; i < doubleArrSize; i++) {
cout << doubleArr[i] << " ";
}
cout << endl;
return 0;
}
```
c++冒泡排序的函数模板
冒泡排序的函数模板示例如下:
```c++
template <typename T>
void bubbleSort(T arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j > arr[j + 1]) {
T temp = arr[j];
arr[j = arr[j + 1];
arr[j + 1 = temp;
}
}
}
}
```
上述代码定义了一个模板函数`bubbleSort`,它可以接受任意类型的数组作为参数,并对其进行冒泡排序。模板参数`typename T`表示泛型类型,可以是`int`、`char`或其他类型。函数中使用了两层循环来比较和交换数组中的元素,实现了冒泡排序算法。你可以根据需要调用`bubbleSort`函数并传入相应的数组和大小来进行排序。例如,你可以使用`int`类型的数组和`char`类型的数组分别进行排序。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [C++ 冒泡排序,模板](https://blog.csdn.net/qq_73985089/article/details/130063997)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文