# include<iostream>
using namespace std;
//实现通用的对数组数据进行排序
//规则从大到小
//算法 选择
//测试 char 数组、int 数组
template<typename T>
void myswap(T& a, T& b)
{
T temp = a;
a = b;
b = temp;
}
//排序算法
template<typename T>
void mySort( T arr[], int len)
{
for (int i = 0; i < len; i++)
{
int max = i;
for (int j = i + 1; j < len; j++)
{
if (arr[max] < arr[j])
{
max = j;
}
}
if (max != i)
{
//交换max和i元素
myswap(arr[i], arr[max]);
}
}
}
template<typename T>
void printArray(T arr[], int len)
{
for (int i = 0; i < len; i++)
{
cout << " " << arr[i];
}
cout << endl;
}
void test01()
{
char charArr[] = "badcefe";
int len;
len = sizeof(charArr) / sizeof(charArr[0]);
/*cout << "len=" << len << endl;*/
mySort(charArr, len);
printArray(charArr, len);
int arr[] = { 5,3,9,4,1,2,6,8,9,10,55,21 };
len = sizeof(arr) / sizeof(arr[0]);
/*cout << "len=" << len << endl;*/
mySort(arr, len);
printArray(arr, len);
}
int main()
{
test01();
system("pause");
return 0;
}