三数排序 两种方法编写程序,实现对三个整数由小到大排序,并输出。考虑整型、小数、 字符等不同类型数的排序。 方法 1 函数原型:void sort(int a[], int len); void sort(double a[], int len); void sort(char a[], int len); 方法 2 函数模板原型: template<typename T> void sort(T a[], int len)
时间: 2024-03-10 16:51:10 浏览: 73
方法1:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
void sort(int a[], int len)
{
sort(a, a + len);
}
void sort(double a[], int len)
{
sort(a, a + len);
}
void sort(char a[], int len)
{
sort(a, a + len);
}
int main()
{
int arr1[] = {3, 2, 1};
double arr2[] = {3.3, 2.2, 1.1};
char arr3[] = {'c', 'b', 'a'};
sort(arr1, 3);
sort(arr2, 3);
sort(arr3, 3);
for (int i = 0; i < 3; i++)
cout << arr1[i] << " ";
cout << endl;
for (int i = 0; i < 3; i++)
cout << arr2[i] << " ";
cout << endl;
for (int i = 0; i < 3; i++)
cout << arr3[i] << " ";
cout << endl;
return 0;
}
```
方法 2:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
template<typename T>
void sort(T a[], int len)
{
sort(a, a + len);
}
int main()
{
int arr1[] = {3, 2, 1};
double arr2[] = {3.3, 2.2, 1.1};
char arr3[] = {'c', 'b', 'a'};
sort(arr1, 3);
sort(arr2, 3);
sort(arr3, 3);
for (int i = 0; i < 3; i++)
cout << arr1[i] << " ";
cout << endl;
for (int i = 0; i < 3; i++)
cout << arr2[i] << " ";
cout << endl;
for (int i = 0; i < 3; i++)
cout << arr3[i] << " ";
cout << endl;
return 0;
}
```
两种方法都可以实现对三个整数由小到大排序,方法 1 通过函数重载的方式实现了不同类型数的排序,方法 2 通过函数模板实现了各种类型数的排序。
阅读全文