关于用模板写选择排序算法

为什么给字符数组排序,结果不对呢,整型是对的

img

#include<iostream>
using namespace std;
template <typename T>
void sort(T a[], int length)
{
    for (int i = 0; i < length; i++)
    {
        int Mini = i;
        for (int j = i + 1; j < length; j++)
        {
            if (a[i] > a[j])
            {
                Mini = j;
            }
        }
        if (Mini != i)
        {
            T temp = a[i];
            a[i] = a[Mini];
            a[Mini] = temp;
        }
    }
}
int main()
{
    int a[] = { 6,5,4,3,2,1,100 };
    char b[] = "ifsagjtxyb" ;
    sort(a, sizeof(a) / sizeof(int));
    sort(b, sizeof(b) / sizeof(char));
    for (int i = 0; i < sizeof(a) / sizeof(int); i++)
    {
        cout << a[i] << "  ";
    }
    cout << endl;
    for (int i = 0; i < sizeof(b) / sizeof(char); i++)
    {
        cout << b[i] << "  ";
    }
}

哎,我傻了,原来是11行的 if (a[i] > a[j]),a[i]要改为a[mini]