C++三数排序问题,用for循环和函数模板原型?

C++三数排序问题,用for循环和函数模板原型,可以请各位指教一下吗

img



#include<iostream>
using namespace std;

template<typename T>
void print(T a[], int len)
{
    for(int i = 0; i < len; i++)
        cout << a[i] << " ";

    cout << endl;
}

template<typename T>
void sort(T a[], int len)
{
    for(int i = 0; i < len - 1; i++)
        for(int j = i; j < len; j++)
        {
            if(a[i] > a[j])
            {
                T t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
}

int main()
{
    int a[3] = {36, 24, 12};
    char b[5] = {'c', 'E', 'h', 'r', 'd'};
    double c[3] = {123.45, 45.3, 23.43};

    sort(a, 3);
    print(a, 3);
    sort(b, 5);
    print(b, 5);
    sort(c, 3);
    print(c, 3);

    return 0;

}