c++定义一个函数模板实现冒泡排序的功能,并在main()函数中分别对int型数组和double型数组的排序。
时间: 2023-06-18 09:08:38 浏览: 73
以下是实现冒泡排序的函数模板:
```cpp
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 temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
```
在main()函数中,我们可以分别对int型数组和double型数组进行排序:
```cpp
int main() {
int intArr[] = {3, 1, 4, 5, 2};
double doubleArr[] = {3.14, 1.41, 2.72, 1.61, 0.57};
int intArrLen = sizeof(intArr) / sizeof(intArr[0]);
int doubleArrLen = sizeof(doubleArr) / sizeof(doubleArr[0]);
// 对int型数组进行排序
bubbleSort(intArr, intArrLen);
cout << "Sorted int array: ";
for (int i = 0; i < intArrLen; i++) {
cout << intArr[i] << " ";
}
cout << endl;
// 对double型数组进行排序
bubbleSort(doubleArr, doubleArrLen);
cout << "Sorted double array: ";
for (int i = 0; i < doubleArrLen; i++) {
cout << doubleArr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Sorted int array: 1 2 3 4 5
Sorted double array: 0.57 1.41 1.61 2.72 3.14
```