编写一个函数模板,能对整型、浮点数、字符型、string类型等不同类型的数组数据按由大到小的顺序排序,采用冒泡法或者选择法等排序算法。
时间: 2023-04-05 08:05:06 浏览: 139
好的,我可以回答这个问题。以下是一个使用冒泡排序算法的函数模板,可以对不同类型的数组数据按由大到小的顺序排序:
```
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;
}
}
}
}
```
你可以将需要排序的数组作为参数传递给这个函数,例如:
```
int main() {
int intArr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
bubbleSort(intArr, 10);
float floatArr[] = {3.14, 2.71, 1.41, 1.62, 1.73};
bubbleSort(floatArr, 5);
char charArr[] = {'c', 'a', 't', 'd', 'o', 'g'};
bubbleSort(charArr, 6);
string strArr[] = {"apple", "banana", "orange", "pear", "grape"};
bubbleSort(strArr, 5);
return 0;
}
```
这个函数模板可以对整型、浮点数、字符型、string类型等不同类型的数组数据按由大到小的顺序排序。
阅读全文