6-2 编写一个函数模板 sort 实现选择法排序的功能 分数 10 作者 张德慧 单位 浙江大学 编写一个函数模板 sort 实现选择法排序的功能。 函数模板实例化: Mysort(a,m); 其中 a 和 n 都是用户传入的参数。 a 表示数组名; m 表示数组元素的个数。
时间: 2024-02-19 10:03:45 浏览: 80
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
好的,这是一个简单的选择排序的函数模板实现:
```cpp
template<typename T>
void sort(T a[], int n) {
for (int i = 0; i < n-1; i++) {
int min_index = i;
for (int j = i+1; j < n; j++) {
if (a[j] < a[min_index]) {
min_index = j;
}
}
if (min_index != i) {
T temp = a[min_index];
a[min_index] = a[i];
a[i] = temp;
}
}
}
```
其中,`T` 是模板类型参数,表示数组元素的类型。函数内部实现了选择排序的逻辑,通过遍历数组找到最小的元素,将其与当前位置的元素交换,从而实现排序。
你可以使用以下方式来调用该函数模板:
```cpp
int a[] = {3, 2, 1, 5, 4};
sort(a, 5);
double b[] = {3.2, 1.5, 4.6, 2.7};
sort(b, 4);
```
其中,`a` 和 `b` 分别是不同类型的数组,`n` 分别为数组的长度。通过传入不同类型的数组和长度,可以实现对不同类型数组的排序。
阅读全文