为什么给字符数组排序,结果不对呢,整型是对的
#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]