利用c++模板封装一个函数mySort(),可以对不同数据类型的数组进行有小到大的冒泡排序,并在主函数中用整型数组进行测试并输出结果
时间: 2023-09-17 19:05:09 浏览: 166
二维数组排序
### 回答1:
可以使用以下代码来实现:template <typename T>
void mySort(T array[], int size)
{
for (int i = 0; i < size; i++) {
for (int j = 0; j < size-1; j++) {
if (array[j] > array[j+1]) {
T temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
} int main()
{
int arr[] = {5, 7, 1, 4, 2};
int size = sizeof(arr)/sizeof(arr[0]);
mySort(arr, size);
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
return 0;
}
### 回答2:
使用C++模板可以实现一个通用的函数`mySort()`来实现冒泡排序。冒泡排序是一种简单直观的排序算法,通过多次交换相邻元素的方式,使得最大(或最小)的元素逐渐冒泡到数组的一端。
以下是一个示例代码,实现了`mySort()`函数,并在主函数中使用整型数组进行测试并输出结果:
```cpp
#include <iostream>
template <typename T>
void mySort(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;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 4, 1};
int size = sizeof(arr) / sizeof(arr[0]);
mySort(arr, size);
std::cout << "排序结果:";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在上述代码中,`mySort()`函数使用了一个模板参数`T`,表示可变的数据类型。通过传递不同的数据类型的数组,可以实现对不同数据类型的冒泡排序。主函数中使用整型数组`arr`进行了测试,并输出排序结果。
注意:这里只是给出了一个简单的示例代码,实际应用中可能需要考虑更多的异常处理、边界条件等。
### 回答3:
利用C++模板封装一个函数mySort(),可以对不同数据类型的数组进行有小到大的冒泡排序,并在主函数中用整型数组进行测试并输出结果。
下面是一个使用C++模板封装的mySort()函数的示例:
```cpp
#include <iostream>
template<typename T>
void mySort(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 arr[] = {5, 2, 9, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
mySort(arr, n);
for(int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
在这个例子中,我们使用了模板<typename T>来定义一个通用的类型T。mySort()函数接受一个T类型的数组和数组的大小n作为参数。函数使用冒泡排序算法对数组进行排序,将数组中的元素按照从小到大的顺序排列。在主函数中,我们定义了一个整型数组arr,并将其传递给mySort()函数进行排序。最后,我们遍历排序后的数组并输出结果。
以上就是利用C++模板封装mySort()函数进行冒泡排序的例子。使用模板可以让我们只写一个通用的排序函数,方便对不同数据类型的数组进行排序操作。
阅读全文