c++定义一个函数模板实现冒泡排序的功能,并在main()函数中分别对int型数组和double型数组的排序。
时间: 2023-06-04 18:07:41 浏览: 98
好的,我可以回答你的问题。以下是用函数模板实现冒泡排序的示例代码:
```c++
#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])
{
T tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr1[] = {4, 2, 7, 1, 3};
double arr2[] = {3.4, 1.2, 2.5, 0.8, 4.1};
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int n2 = sizeof(arr2) / sizeof(arr2[0]);
cout << "排序前的数组1:";
for (int i = 0; i < n1; i++)
{
cout << arr1[i] << " ";
}
cout << endl;
bubbleSort(arr1, n1);
cout << "排序后的数组1:";
for (int i = 0; i < n1; i++)
{
cout << arr1[i] << " ";
}
cout << endl;
cout << "排序前的数组2:";
for (int i = 0; i < n2; i++)
{
cout << arr2[i] << " ";
}
cout << endl;
bubbleSort(arr2, n2);
cout << "排序后的数组2:";
for (int i = 0; i < n2; i++)
{
cout << arr2[i] << " ";
}
cout << endl;
return 0;
}
```
我希望这个示例能够帮助你解决问题。