对三个整数、三个实数、三个字符从小到大排序。要求用重载函数实现
#include<iostream>
using namespace std;
template <typename T>
T* sort(T *a)
{
T temp;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j <3-i-1; i++)
{
if ( a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return a;
}
int main()
{
int in[3] = {1,2,3};
float fl[3] = {1.2,2.3,3.4};
char ch[3] = {'a','b','c'};
int *p_int = sort(in);
for (int i = 0 ; i < 3; i++)
{
cout<<*p_int<<endl;
p_int++;
}
float *p_float = sort(fl);
for (int i = 0 ; i < 3; i++)
{
cout<<*p_float<<endl;
p_float++;
}
char *p_char = sort(ch);
for (int i = 0 ; i < 3; i++)
{
cout<<*p_char<<endl;
p_char++;
}
return 0;
}